Re: Linux Installation
Posted in 1998
Jonathan Leffler said to 19 Aug 1998 16:45:27 GMT >I think it's worth a try -- it will work unless sqlexecd explicitly >reenables child termination signal handling or Linux doesn't support the >SVR4 model for handling SIGCHLD and zombies (which is unlikely since it is >definitely part of Unix-98 and probably part of POSIX.1). Does Linux have >an equivalent to truss which would tell you whether sqlexecd is calling the >signal handlers to set a handler for SIGCHLD? Linux handles SIGCHLD by the book... however... I think whoever wrote the sqlexecd code was either not paying attention to the documentation or was paying attention to the _wrong_ documentation. In Linux with libc5 the signal() function used the SYSV convention of signal handlers being one-shot. After the handler is called it is deregistered and you have to call signal() again if you want to handle the next signal. With libc6 (aka glibc) the signal() function uses the BSD convention that a handler remains registered until explicitly changed. In both cases the sigaction() call is also available and has the usual semantics of requiring SA_ONESHOT if you want one-shot behaviour. Of course, it might be that sqlexecd should not be registering a handler at all but should just be setting it to SIG_IGN... Mike -- .----------------------------------------------------------------------. | Mike Jagdis | Internet: mailto:mike@roan.co.uk | | Roan Technology Ltd. | | | 54A Peach Street, Wokingham | Telephone: +44 118 989 0403 |