|
|
EPICS on Google+
Experimental Physics and
| ||||||||||||||
|
|
Dear all,
Here's something else that might cause problems when deleting sequencers
(this refers to all versions).
This code is executed when a sequencer is deleted:
/* Close the log file */
if ( (pSP->logFd > 0) && (pSP->logFd != ioGlobalStdGet(1)) )
{
close(pSP->logFd);
pSP->logFd = ioGlobalStdGet(1);
}
Normally, logFd is ioGlobalStdGet(1), which is the fd associated with
stdout at the time the sequencer was started (presumably the console).
This can be overridden via a "logfile" macro.
Now, ioGlobalStdGet(1) changes when a telnet/rlogin connection is made.
Thus, if a sequencer is deleted which such a connection is active, the
console fd is likely summarily to be closed, which is not good!
The symptom that I have observed is that the IOC carries on running but
it is impossible to connect to its console or via telnet/rlogin (the
latter claim that a connection is already in place). I'm pretty sure
that this is because of the above.
If this is an issue for you, I suggest, as a workaround, simply
commenting out the 'close()' call. This will cause problems only if you
use the "logfile" macro (in which a more complicated workaround will be
required).
I'll fix this in a future version.
William
| ||||||||||||||
| ANJ, 10 Aug 2010 |
· EPICSv4 · IRMIS · Tech-Talk · Bugs · Documents · Links · Google · Licensing · |