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: