Till,
the caRepeater thread calls 'exit()' which is not really
what you want to do from the ca server (I guess)
I created bug entry 131 in Mantis.
This code was written a long time ago. With R3.13 it executes as a thread
only on vxWorks, and on vxWorks exit() causes only the thread to exit.
Of course, now with R3.14 the code runs also on other OS where exit() may
have a different behavior. In particular, on Linux, Solaris, HPUX, Windows,
etc exit() will cause the process to exit, but that behavior should not be
observed because osiSpawnDetachedProcess() is implemented on these systems,
and therefore the CA repeater always runs in an independent detached
process. It is not running as a thread in the IOC as is the case with
vxWorks.
That leaves RTEMS. The osiSpawnDetachedProcess() function is not (probably
cant be) implemented on RTEMS and so you will end up with the CA repeater
running as an RTEMS thread. However, perhaps on RTEMS exit() causes the
RTEMS OS to shut down? That might be a more appropriate implementation of
exit() compared to vxWorks.
What symptoms did you observe that led to finding this fix? I just read that
Kate observed a hang (which I assume means that RTEMS shut down).
Thanks for bringing this to our attention.
Jeff
-----Original Message-----
From: Till Straumann [mailto:[email protected]]
Sent: Wednesday, September 15, 2004 5:34 PM
To: [email protected]
Subject: ca_repeater bug
Folks.
the caRepeater thread calls 'exit()' which is not really
what you want to do from the ca server (I guess)
-- T.