[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#46749: dpkg: clear SA_INTERRUPT



Richard Kettlewell writes:
>Marcus.Brinkmann@ruhr-uni-bochum.de writes:
>>--- ../../official/dpkg-1.4.1.13/dselect/baselist.cc	Sun Nov  1 17:04:21 1998
>>+++ dselect/baselist.cc	Wed Oct  6 02:45:04 1999
>>@@ -77,7 +77,7 @@
>>   memset(&nsigact,0,sizeof(nsigact));
>>   nsigact.sa_handler= sigwinchhandler;
>>   sigemptyset(&nsigact.sa_mask);
>>-  nsigact.sa_flags= SA_INTERRUPT;
>>+  nsigact.sa_flags= SA_RESTART;
>>   if (sigaction(SIGWINCH,&nsigact,0)) ohshite("failed to set new SIGWINCH sigact");
>> }
>
> Don't SA_RESTART and the (historical) SA_INTERRUPT have opposite
> semantics?

>From the sunos 4 man page for sigaction:

          #define   SA_INTERRUPT   0x0002    /*
                                              * do not restart
                                              * system on signal
                                              * return
                                              */
>From the Linux man page for sigaction:

              SA_RESTART
                     Provide behaviour compatible with BSD signal
                     semantics  by  making  certain  system calls
                     restartable across signals.

i.e. they are opposite.

ttfn/rjk


Reply to: