From owner-freebsd-stable@FreeBSD.ORG Wed Aug 24 19:53:05 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 076451065676 for ; Wed, 24 Aug 2011 19:53:05 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) by mx1.freebsd.org (Postfix) with ESMTP id CD0978FC14 for ; Wed, 24 Aug 2011 19:53:03 +0000 (UTC) Received: from slw by zxy.spb.ru with local (Exim 4.69 (FreeBSD)) (envelope-from ) id 1QwJVj-000JXR-9z; Wed, 24 Aug 2011 23:53:15 +0400 Date: Wed, 24 Aug 2011 23:53:15 +0400 From: Slawa Olhovchenkov To: Kostik Belousov Message-ID: <20110824195315.GD48394@zxy.spb.ru> References: <20110824181907.GA48394@zxy.spb.ru> <20110824190703.GY17489@deviant.kiev.zoral.com.ua> <20110824192446.GB48394@zxy.spb.ru> <20110824193202.GZ17489@deviant.kiev.zoral.com.ua> <20110824194229.GC48394@zxy.spb.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110824194229.GC48394@zxy.spb.ru> User-Agent: Mutt/1.5.20 (2009-06-14) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false Cc: freebsd-stable@freebsd.org Subject: Re: sigwait return 4 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Aug 2011 19:53:05 -0000 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 --