Tom Lane wrote:
> [EMAIL PROTECTED] writes:
> > On Thu, 28 Oct 2004, Tom Lane wrote:
> >> No.  Why should the signal handler need re-arming?
> 
> > My impression was that once caught, signal handler for a particular signal
> > is reset to SIG-DFL.
> 
> No.  If your signal support is POSIX-compatible, it should not do that
> because we don't set SA_RESETHAND when calling sigaction(2).  If you
> don't have POSIX signals, you had better have BSD-style signal(2),
> which doesn't reset either.  If this is not happening as expected,
> you will have much worse problems than whether statement_timeout works :-(

SysV-style signal(2) handling does indeed require that the signal
handler be re-enabled.  The attached program demonstrates this on
Solaris, and probably on Unixware as well (I don't have access to the
latter).  Just run it and interrupt it with ctrl-c.  It should print
something the first time around, and actually be interrupted the
second time.


So if Unixware doesn't have sigaction() or it's not being picked up by
autoconf then yeah, he'll have big problems...



-- 
Kevin Brown                                           [EMAIL PROTECTED]
#include <signal.h>
#include <stdio.h>
#include <unistd.h>


void sighandler(int sig) {
        printf ("Received signal %d\n", sig);
}


int main (int argc, char *argv[]) {
        signal(SIGINT, sighandler);

        while(1) {
                sleep(1);
        }
}
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to