EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Question about asyn and offline device
From: Sonya Hoobler <[email protected]>
To: [email protected]
Cc: [email protected]
Date: Tue, 9 Sep 2014 15:28:47 -0700 (PDT)
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  <20142015  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  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·