Hi Mark,
At LCLS we have VME crates (and other devices) that we monitor and control
with soft iocs using asyn + streamdevice. There are many crates and it is
not uncommon for one or more to be offline.
We have noticed that if there is an offline device, it can take minutes
for the monitoring soft ioc to exit. This delay is the time it takes for
the connect() networking routine to try to connect to the offline device.
The socket is blocking and connect() takes about 3 minutes on our system.
(More detail: the delay occurs while drvAsynIPPort cleanup() waits for the
synchronousLock mutex. The mutex is held by asynManager portThread() or
connectAttempt() while drvAsynIPPort connectIt() calls connect().)
I am curious what your thoughts are on this and whether you think it is
worthwhile to pursue a change to reduce the shutdown time under these
conditions. One option could be to modify connectIt() to temporarily set
the socket to non-blocking during connect() and use select() to enforce a
specified timeout. Then the socket could be set back to blocking. One
potential downside of this could be introducing a new timeout which might
not suit all systems.
A little more detail about our system: the soft iocs run on Linux RHEL5
32-bit servers, soon to be RHEL6 64-bit. We are using base R3-14-12,
asyn4-21, streamdevice-R2-5, TCP/IP telnet-style connections, e.g.:
drvAsynIPPortConfigure ("crat-test-bd01","crat-test-bd01:23",0,0,0)
Thanks,
Sonya
Sonya Hoobler
SLAC National Accelerator Laboratory
[email protected]
- Replies:
- Re: Question about asyn and offline device Torsten Bögershausen
- Navigate by Date:
- Prev:
Re: synApps_5_7 build error on Windows 8.1 x64 Benjamin Franksen
- Next:
EPICSQt version 2.9.0 released Andrew Rhyder
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
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: mbboDirect problems Andrew Johnson
- Next:
Re: Question about asyn and offline device Torsten Bögershausen
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
<2014>
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|