Re: Orphaned sql turbo processes.
Posted in 1994
>From: shyam@minerva.robadome.com (Shyam Davuburu) >Subject: Orphaned sql turbo processes. >Date: 13 Sep 1994 18:40:55 GMT >X-Informix-List-Id: <news.8651> Please remember to use newlines... } I recently attend an Informix class on system administration, the }class instructor claims when we C-ESQL code we need have a signal handler }which do a sqlexit(). He claims that if the parent process gets killed }then there is a chance that the sqlturbo will be hanging around. But I }don't think so; sqlturbo use a pipe to communicate with the parent }process, so the turbo process has to receive a SIGPIPE at one time or the }other. Even if it ignores SIGPIPE it has to get an error when it tries to }read the pipe, because the other end of the pipe is closed. Has anyone }had the orphaned sqlturbo processes hanging around? Is there any logical }reasoning why the sqltubo hanging around? I have not seen this problem, }but informix guys are suggesting to us that we should have signal handlers }in all our process, doing an sqlexit() call. }Is it necessary to have a Signal handler doing this? I really appreciate }your help on this. The only advantage of having a signal handler around is that if the sqlturbo is 20 minutes into a 2 hour query, the signal handler will stop the sqlturbo before the query completes. On the other hand, if your system is well behaved and queries don't ever take 2 hours, then there is negligible benefit. As you say, if sqlturbo is writing to a process which dies, then it gets SIGPIPE. On the other hand, and if it is waiting to read, it gets an EOF indication (0 bytes read -- not an error, per se), and it should go away fairly quickly. Yours, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h>