sigwait return 4

Slawa Olhovchenkov slw at zxy.spb.ru
Wed Aug 24 19:53:05 UTC 2011


On Wed, Aug 24, 2011 at 11:42:29PM +0400, Slawa Olhovchenkov wrote:

> On Wed, Aug 24, 2011 at 10:32:02PM +0300, Kostik Belousov wrote:
> 
> > > > What should the system do for a delivered signal not present in the set ?
> > > > I guess this is the case of your ktrace.
> > > > 
> > > > Looking at the SUSv4, I see no mention of the situation, but in Oracle
> > > > SunOS 5.10 man page for sigwait(2), it is said explicitely
> > > > EINTR The wait was interrupted by an unblocked, caught signal.
> > > 
> > > I don't think you right in this case.
> > > This is kas-milter and in this thread (this is multi-thread
> > > application) kas-milter wait for USR2 for reload config.
> > > 
> > > System return from sigwait only on USR2, but not each return w/
> > > non-zero return code.
> > > 
> > > On freebsd7 this application don't complain about sigwait's return value.
> > 
> > Could it be that some other thread has the signal unblocked ?
> > (You can verify this with procstat -j).
> > 
> > Can you write the self-contained test case that demonstrates the behaviour ?
> 
> This is closed-source software.
> # procstat -j
>   PID    TID COMM             SIG     FLAGS
>  1395 100199 kas-milter       HUP      -B
>  1395 100199 kas-milter       INT      -B
>  1395 100199 kas-milter       QUIT     --
>  1395 100199 kas-milter       ILL      --
>  1395 100199 kas-milter       TRAP     --
>  1395 100199 kas-milter       ABRT     --
>  1395 100199 kas-milter       EMT      --
>  1395 100199 kas-milter       FPE      --
>  1395 100199 kas-milter       KILL     --
>  1395 100199 kas-milter       BUS      --
>  1395 100199 kas-milter       SEGV     --
>  1395 100199 kas-milter       SYS      --
>  1395 100199 kas-milter       PIPE     --
>  1395 100199 kas-milter       ALRM     --
>  1395 100199 kas-milter       TERM     -B
>  1395 100199 kas-milter       URG      --
>  1395 100199 kas-milter       STOP     --
>  1395 100199 kas-milter       TSTP     --
>  1395 100199 kas-milter       CONT     --
>  1395 100199 kas-milter       CHLD     --
>  1395 100199 kas-milter       TTIN     --
>  1395 100199 kas-milter       TTOU     --
>  1395 100199 kas-milter       IO       --
>  1395 100199 kas-milter       XCPU     --
>  1395 100199 kas-milter       XFSZ     --
>  1395 100199 kas-milter       VTALRM   --
>  1395 100199 kas-milter       PROF     --
>  1395 100199 kas-milter       WINCH    --
>  1395 100199 kas-milter       INFO     --
>  1395 100199 kas-milter       USR1     --
>  1395 100199 kas-milter       USR2     --
>  1395 100199 kas-milter       32       --
>  1395 100199 kas-milter       33       --
>  1395 100199 kas-milter       34       --
>  1395 100199 kas-milter       35       --
>  1395 100199 kas-milter       36       --
>  1395 100199 kas-milter       37       --
>  1395 100199 kas-milter       38       --
>  1395 100199 kas-milter       39       --
>  1395 100199 kas-milter       40       --
>  1395 100199 kas-milter       41       --
>  1395 100199 kas-milter       42       --
>  1395 100199 kas-milter       43       --
>  1395 100199 kas-milter       44       --
>  1395 100199 kas-milter       45       --
>  1395 100199 kas-milter       46       --
>  1395 100199 kas-milter       47       --
>  1395 100199 kas-milter       48       --
>  1395 100199 kas-milter       49       --
>  1395 100199 kas-milter       50       --
>  1395 100199 kas-milter       51       --
>  1395 100199 kas-milter       52       --
>  1395 100199 kas-milter       53       --
>  1395 100199 kas-milter       54       --
>  1395 100199 kas-milter       55       --
>  1395 100199 kas-milter       56       --
>  1395 100199 kas-milter       57       --
>  1395 100199 kas-milter       58       --
>  1395 100199 kas-milter       59       --
>  1395 100199 kas-milter       60       --
>  1395 100199 kas-milter       61       --
>  1395 100199 kas-milter       62       --
>  1395 100199 kas-milter       63       --
>  1395 100199 kas-milter       64       --
>  1395 100199 kas-milter       65       --
>  1395 100199 kas-milter       66       --
>  1395 100199 kas-milter       67       --
>  1395 100199 kas-milter       68       --
>  1395 100199 kas-milter       69       --
>  1395 100199 kas-milter       70       --
>  1395 100199 kas-milter       71       --
>  1395 100199 kas-milter       72       --
>  1395 100199 kas-milter       73       --
>  1395 100199 kas-milter       74       --
>  1395 100199 kas-milter       75       --
>  1395 100199 kas-milter       76       --
>  1395 100199 kas-milter       77       --
>  1395 100199 kas-milter       78       --
>  1395 100199 kas-milter       79       --
>  1395 100199 kas-milter       80       --
>  1395 100199 kas-milter       81       --
>  1395 100199 kas-milter       82       --
>  1395 100199 kas-milter       83       --
>  1395 100199 kas-milter       84       --
>  1395 100199 kas-milter       85       --
>  1395 100199 kas-milter       86       --
>  1395 100199 kas-milter       87       --
>  1395 100199 kas-milter       88       --
>  1395 100199 kas-milter       89       --
>  1395 100199 kas-milter       90       --
>  1395 100199 kas-milter       91       --
>  1395 100199 kas-milter       92       --
>  1395 100199 kas-milter       93       --
>  1395 100199 kas-milter       94       --
>  1395 100199 kas-milter       95       --
>  1395 100199 kas-milter       96       --
>  1395 100199 kas-milter       97       --
>  1395 100199 kas-milter       98       --
>  1395 100199 kas-milter       99       --
>  1395 100199 kas-milter       100      --
>  1395 100199 kas-milter       101      --
>  1395 100199 kas-milter       102      --
>  1395 100199 kas-milter       103      --
>  1395 100199 kas-milter       104      --
>  1395 100199 kas-milter       105      --
>  1395 100199 kas-milter       106      --
>  1395 100199 kas-milter       107      --
>  1395 100199 kas-milter       108      --
>  1395 100199 kas-milter       109      --
>  1395 100199 kas-milter       110      --
>  1395 100199 kas-milter       111      --
>  1395 100199 kas-milter       112      --
>  1395 100199 kas-milter       113      --
>  1395 100199 kas-milter       114      --
>  1395 100199 kas-milter       115      --
>  1395 100199 kas-milter       116      --
>  1395 100199 kas-milter       117      --
>  1395 100199 kas-milter       118      --
>  1395 100199 kas-milter       119      --
>  1395 100199 kas-milter       120      --
>  1395 100199 kas-milter       121      --
>  1395 100199 kas-milter       122      --
>  1395 100199 kas-milter       123      --
>  1395 100199 kas-milter       124      --
>  1395 100199 kas-milter       125      --
>  1395 100199 kas-milter       126      --
>  1395 100199 kas-milter       127      --
>  1395 100199 kas-milter       128      --
>  1395 100232 kas-milter       HUP      --
>  1395 100232 kas-milter       INT      --
>  1395 100232 kas-milter       QUIT     --
>  1395 100232 kas-milter       ILL      --
>  1395 100232 kas-milter       TRAP     --
>  1395 100232 kas-milter       ABRT     --
>  1395 100232 kas-milter       EMT      --
>  1395 100232 kas-milter       FPE      --
>  1395 100232 kas-milter       KILL     --
>  1395 100232 kas-milter       BUS      --
>  1395 100232 kas-milter       SEGV     --
>  1395 100232 kas-milter       SYS      --
>  1395 100232 kas-milter       PIPE     --
>  1395 100232 kas-milter       ALRM     --
>  1395 100232 kas-milter       TERM     --
>  1395 100232 kas-milter       URG      --
>  1395 100232 kas-milter       STOP     --
>  1395 100232 kas-milter       TSTP     --
>  1395 100232 kas-milter       CONT     --
>  1395 100232 kas-milter       CHLD     --
>  1395 100232 kas-milter       TTIN     --
>  1395 100232 kas-milter       TTOU     --
>  1395 100232 kas-milter       IO       --
>  1395 100232 kas-milter       XCPU     --
>  1395 100232 kas-milter       XFSZ     --
>  1395 100232 kas-milter       VTALRM   --
>  1395 100232 kas-milter       PROF     --
>  1395 100232 kas-milter       WINCH    --
>  1395 100232 kas-milter       INFO     --
>  1395 100232 kas-milter       USR1     --
>  1395 100232 kas-milter       USR2     --
>  1395 100232 kas-milter       32       --
>  1395 100232 kas-milter       33       --
>  1395 100232 kas-milter       34       --
>  1395 100232 kas-milter       35       --
>  1395 100232 kas-milter       36       --
>  1395 100232 kas-milter       37       --
>  1395 100232 kas-milter       38       --
>  1395 100232 kas-milter       39       --
>  1395 100232 kas-milter       40       --
>  1395 100232 kas-milter       41       --
>  1395 100232 kas-milter       42       --
>  1395 100232 kas-milter       43       --
>  1395 100232 kas-milter       44       --
>  1395 100232 kas-milter       45       --
>  1395 100232 kas-milter       46       --
>  1395 100232 kas-milter       47       --
>  1395 100232 kas-milter       48       --
>  1395 100232 kas-milter       49       --
>  1395 100232 kas-milter       50       --
>  1395 100232 kas-milter       51       --
>  1395 100232 kas-milter       52       --
>  1395 100232 kas-milter       53       --
>  1395 100232 kas-milter       54       --
>  1395 100232 kas-milter       55       --
>  1395 100232 kas-milter       56       --
>  1395 100232 kas-milter       57       --
>  1395 100232 kas-milter       58       --
>  1395 100232 kas-milter       59       --
>  1395 100232 kas-milter       60       --
>  1395 100232 kas-milter       61       --
>  1395 100232 kas-milter       62       --
>  1395 100232 kas-milter       63       --
>  1395 100232 kas-milter       64       --
>  1395 100232 kas-milter       65       --
>  1395 100232 kas-milter       66       --
>  1395 100232 kas-milter       67       --
>  1395 100232 kas-milter       68       --
>  1395 100232 kas-milter       69       --
>  1395 100232 kas-milter       70       --
>  1395 100232 kas-milter       71       --
>  1395 100232 kas-milter       72       --
>  1395 100232 kas-milter       73       --
>  1395 100232 kas-milter       74       --
>  1395 100232 kas-milter       75       --
>  1395 100232 kas-milter       76       --
>  1395 100232 kas-milter       77       --
>  1395 100232 kas-milter       78       --
>  1395 100232 kas-milter       79       --
>  1395 100232 kas-milter       80       --
>  1395 100232 kas-milter       81       --
>  1395 100232 kas-milter       82       --
>  1395 100232 kas-milter       83       --
>  1395 100232 kas-milter       84       --
>  1395 100232 kas-milter       85       --
>  1395 100232 kas-milter       86       --
>  1395 100232 kas-milter       87       --
>  1395 100232 kas-milter       88       --
>  1395 100232 kas-milter       89       --
>  1395 100232 kas-milter       90       --
>  1395 100232 kas-milter       91       --
>  1395 100232 kas-milter       92       --
>  1395 100232 kas-milter       93       --
>  1395 100232 kas-milter       94       --
>  1395 100232 kas-milter       95       --
>  1395 100232 kas-milter       96       --
>  1395 100232 kas-milter       97       --
>  1395 100232 kas-milter       98       --
>  1395 100232 kas-milter       99       --
>  1395 100232 kas-milter       100      --
>  1395 100232 kas-milter       101      --
>  1395 100232 kas-milter       102      --
>  1395 100232 kas-milter       103      --
>  1395 100232 kas-milter       104      --
>  1395 100232 kas-milter       105      --
>  1395 100232 kas-milter       106      --
>  1395 100232 kas-milter       107      --
>  1395 100232 kas-milter       108      --
>  1395 100232 kas-milter       109      --
>  1395 100232 kas-milter       110      --
>  1395 100232 kas-milter       111      --
>  1395 100232 kas-milter       112      --
>  1395 100232 kas-milter       113      --
>  1395 100232 kas-milter       114      --
>  1395 100232 kas-milter       115      --
>  1395 100232 kas-milter       116      --
>  1395 100232 kas-milter       117      --
>  1395 100232 kas-milter       118      --
>  1395 100232 kas-milter       119      --
>  1395 100232 kas-milter       120      --
>  1395 100232 kas-milter       121      --
>  1395 100232 kas-milter       122      --
>  1395 100232 kas-milter       123      --
>  1395 100232 kas-milter       124      --
>  1395 100232 kas-milter       125      --
>  1395 100232 kas-milter       126      --
>  1395 100232 kas-milter       127      --
>  1395 100232 kas-milter       128      --

hmmm. not complete cut-paste:

 1395 100281 kas-milter       HUP      -B
 1395 100281 kas-milter       INT      -B
 1395 100281 kas-milter       QUIT     --
 1395 100281 kas-milter       ILL      --
 1395 100281 kas-milter       TRAP     --
 1395 100281 kas-milter       ABRT     --
 1395 100281 kas-milter       EMT      --
 1395 100281 kas-milter       FPE      --
 1395 100281 kas-milter       KILL     --
 1395 100281 kas-milter       BUS      --
 1395 100281 kas-milter       SEGV     --
 1395 100281 kas-milter       SYS      --
 1395 100281 kas-milter       PIPE     --
 1395 100281 kas-milter       ALRM     --
 1395 100281 kas-milter       TERM     -B
 1395 100281 kas-milter       URG      --
 1395 100281 kas-milter       STOP     --
 1395 100281 kas-milter       TSTP     --
 1395 100281 kas-milter       CONT     --
 1395 100281 kas-milter       CHLD     --
 1395 100281 kas-milter       TTIN     --
 1395 100281 kas-milter       TTOU     --
 1395 100281 kas-milter       IO       --
 1395 100281 kas-milter       XCPU     --
 1395 100281 kas-milter       XFSZ     --
 1395 100281 kas-milter       VTALRM   --
 1395 100281 kas-milter       PROF     --
 1395 100281 kas-milter       WINCH    --
 1395 100281 kas-milter       INFO     --
 1395 100281 kas-milter       USR1     --
 1395 100281 kas-milter       USR2     --
 1395 100281 kas-milter       32       --
 1395 100281 kas-milter       33       --
 1395 100281 kas-milter       34       --
 1395 100281 kas-milter       35       --
 1395 100281 kas-milter       36       --
 1395 100281 kas-milter       37       --
 1395 100281 kas-milter       38       --
 1395 100281 kas-milter       39       --
 1395 100281 kas-milter       40       --
 1395 100281 kas-milter       41       --
 1395 100281 kas-milter       42       --
 1395 100281 kas-milter       43       --
 1395 100281 kas-milter       44       --
 1395 100281 kas-milter       45       --
 1395 100281 kas-milter       46       --
 1395 100281 kas-milter       47       --
 1395 100281 kas-milter       48       --
 1395 100281 kas-milter       49       --
 1395 100281 kas-milter       50       --
 1395 100281 kas-milter       51       --
 1395 100281 kas-milter       52       --
 1395 100281 kas-milter       53       --
 1395 100281 kas-milter       54       --
 1395 100281 kas-milter       55       --
 1395 100281 kas-milter       56       --
 1395 100281 kas-milter       57       --
 1395 100281 kas-milter       58       --
 1395 100281 kas-milter       59       --
 1395 100281 kas-milter       60       --
 1395 100281 kas-milter       61       --
 1395 100281 kas-milter       62       --
 1395 100281 kas-milter       63       --
 1395 100281 kas-milter       64       --
 1395 100281 kas-milter       65       --
 1395 100281 kas-milter       66       --
 1395 100281 kas-milter       67       --
 1395 100281 kas-milter       68       --
 1395 100281 kas-milter       69       --
 1395 100281 kas-milter       70       --
 1395 100281 kas-milter       71       --
 1395 100281 kas-milter       72       --
 1395 100281 kas-milter       73       --
 1395 100281 kas-milter       74       --
 1395 100281 kas-milter       75       --
 1395 100281 kas-milter       76       --
 1395 100281 kas-milter       77       --
 1395 100281 kas-milter       78       --
 1395 100281 kas-milter       79       --
 1395 100281 kas-milter       80       --
 1395 100281 kas-milter       81       --
 1395 100281 kas-milter       82       --
 1395 100281 kas-milter       83       --
 1395 100281 kas-milter       84       --
 1395 100281 kas-milter       85       --
 1395 100281 kas-milter       86       --
 1395 100281 kas-milter       87       --
 1395 100281 kas-milter       88       --
 1395 100281 kas-milter       89       --
 1395 100281 kas-milter       90       --
 1395 100281 kas-milter       91       --
 1395 100281 kas-milter       92       --
 1395 100281 kas-milter       93       --
 1395 100281 kas-milter       94       --
 1395 100281 kas-milter       95       --
 1395 100281 kas-milter       96       --
 1395 100281 kas-milter       97       --
 1395 100281 kas-milter       98       --
 1395 100281 kas-milter       99       --
 1395 100281 kas-milter       100      --
 1395 100281 kas-milter       101      --
 1395 100281 kas-milter       102      --
 1395 100281 kas-milter       103      --
 1395 100281 kas-milter       104      --
 1395 100281 kas-milter       105      --
 1395 100281 kas-milter       106      --
 1395 100281 kas-milter       107      --
 1395 100281 kas-milter       108      --
 1395 100281 kas-milter       109      --
 1395 100281 kas-milter       110      --
 1395 100281 kas-milter       111      --
 1395 100281 kas-milter       112      --
 1395 100281 kas-milter       113      --
 1395 100281 kas-milter       114      --
 1395 100281 kas-milter       115      --
 1395 100281 kas-milter       116      --
 1395 100281 kas-milter       117      --
 1395 100281 kas-milter       118      --
 1395 100281 kas-milter       119      --
 1395 100281 kas-milter       120      --
 1395 100281 kas-milter       121      --
 1395 100281 kas-milter       122      --
 1395 100281 kas-milter       123      --
 1395 100281 kas-milter       124      --
 1395 100281 kas-milter       125      --
 1395 100281 kas-milter       126      --
 1395 100281 kas-milter       127      --
 1395 100281 kas-milter       128      --


More information about the freebsd-stable mailing list