EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: 3.14.8: blockingSockTest - assert() fails.
From: Ralph Lange <[email protected]>
To: Jeff Hill <[email protected]>
Cc: "'EPICS Core Talk'" <[email protected]>
Date: Wed, 09 Nov 2005 15:58:30 +0100
Your fix works perfectly.

HP-UX returns:

creek: .../base/3-14-X > bin/hpux-parisc/blockingSockTestHost
../blockingSockTest.cpp: server circuit was disconnected
../blockingSockTest.cpp: client circuit socket recv() error was "Interrupted system call"
The local OS behaves like "esscimqi_socketSigAlarmRequired".
The epicsSocketSystemCallInterruptMechanismQuery() function returns
"esscimqi_socketSigAlarmRequired".

while my Linux box says:

aragon: .../base/3-14-X > bin/linux-x86/blockingSockTestHost
../blockingSockTest.cpp: server circuit was disconnected
../blockingSockTest.cpp: client circuit was disconnected
The local OS behaves like "esscimqi_socketBothShutdownRequired".
The epicsSocketSystemCallInterruptMechanismQuery() function returns
"esscimqi_socketBothShutdownRequired".

which is quite what I would expect these two to return.

Thanks!

Ralph


Jeff Hill wrote:

Ralph,

This test isnt quite the same as the others as it is documenting differences
between the various OS implementations of sockets and testing how well we
are able to deal with them.

That test was written to document what is required to interrupt a thread
blocking in socket recv() on the various OS. It looks like the code was
presuming that a CA server was running on the local host, and would not work
otherwise. There is also code there to startup a local server. I went ahead
and instantiated that code and committed it. The test should run standalone
now.

Nevertheless...

O strange behavior could result if a CA server is already running on the
local host when the test starts.
O strange behavior could result if the local os does not allow the process
to exit if a thread is stil running when main exists (I didn't see any
problems with this on linux or windows).

Jeff

References:
RE: 3.14.8: blockingSockTest - assert() fails. Jeff Hill

Navigate by Date:
Prev: RE: R3.14.8 testing Jeff Hill
Next: Re: 3.14.8@Linux: OSS priorities problem? Ralph Lange
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: 3.14.8: blockingSockTest - assert() fails. Jeff Hill
Next: More testing on linux-x86_64 Ernest L. Williams Jr.
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·