Jeff,
I discovered a problem. I wrongly claimed that I successfully tested a
soft ioc runnign on HP-UX. I must have missed something -- in fact it
doesn't even work in (unchanged) R3.14.7. The symptom is:
iocLogInit
log client: Unable to connect to "193.149.12.184:7004" because
0="Operation now in progress"
Note: the text in this message corresponds to errno=EINPROGRESS, whereas
the reported errno is 0.
I am stupefied as to how this is possible.
The code that gives this message is in logClientConnect(). It connects
and in case of a negatie return value, makes a copy of errno. Then it
checks the errno copy for various values and on SOCK_EISCONN decides
that we are connected.
A 'fix' that seems to work (on vxWorks-68040, linux-x86 and HP-UX) is to
check if errno is 0 (zero) (even if the return code is negative) and
assume a successful connect in this case. That is, treat errno==zero
the same as errno==EISCONN.
Any thoughts, comments, suggestions?
Cheers,
Ben
PS: I attached the latest version.
Attachment:
newLogClient.tar.gz
Description: application/tgz
- Replies:
- RE: R3.14.8 Status/logClient patch Jeff Hill
- Navigate by Date:
- Prev:
Re: multiple error messages Benjamin Franksen
- Next:
RE: posix thread priorities Jeff Hill
- Index:
2002
2003
2004
<2005>
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: linux-x86_64 issue: epicsThread: Unknown C++ exception in thread "timerQueue" Ernest L. Williams Jr.
- Next:
RE: R3.14.8 Status/logClient patch Jeff Hill
- Index:
2002
2003
2004
<2005>
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|