[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5cb62c1a8ca38a3eceb37f7d236828761cad07ce.camel@gnu.org>
Date: Wed, 13 May 2020 12:06:45 -0400
From: Paul Smith <psmith@....org>
To: David Laight <David.Laight@...LAB.COM>,
'Linus Torvalds' <torvalds@...ux-foundation.org>
Cc: 'Arnd Bergmann' <arnd@...db.de>,
'Masahiro Yamada' <yamada.masahiro@...ionext.com>,
'Linux Kernel Mailing List' <linux-kernel@...r.kernel.org>
Subject: Re: I disabled more compiler warnings..
On Wed, 2020-05-13 at 15:53 +0000, David Laight wrote:
> > If we don't have pselect() we use the close() in the signal
> > handler. In that case we're just waiting in the read(), we're not
> > using select() or poll() or whatever. It's definitely the case
> > that if we're waiting in read() and someone closes the FD, we'll
> > wake up! :)
>
> Ugg, that is relying on getting either EINTR or EBADFD.
Yes, exactly.
> I can't remember if Posix allows SIGCHLD to be delivered
> in a different thread.
It does: all you have to do is ensure that all threads other than the
one you want block the signal.
However, GNU make is not multithreaded so this is moot.
> Windows definitely likes delivering signals that way :-)
In Windows IIRC GNU make doesn't use this method at all; Windows has
some kind of process shared semaphore that is used instead. I didn't
write that code so I can't really describe it in detail :)
Powered by blists - more mailing lists