Hi Corinna, On Fri, 16 Aug 2019 16:48:11 +0200 Corinna Vinschen wrote: > I now had an idea, but I'm not entirely sure if it's the right thing to > do. Can you please test this? It consists of two patches, one with the > revamped signalfd handling, and one with the revert of the signalfd > patch I applied a couple of days ago. > > Quick description: I dropped signalfd_select_wait entirely. Instead, > wait_sig sets or resets a manual event object to indicate if there are > signals pending in the queue, even after trying to handle them the > normal way. That usually means they are blocked. > > select() uses the event to wake up from WFMO, if at least one signalfd > is present in the read descriptor set. The rest is done via the peek > and verify functions in select, which basically just check if this > signalfd is waiting for one of the pending signals. > > The reversion of my patch from a couple days ago is not required as > such, but after thinking about this a while I'm convinced that this was > just me not getting the full picture. Also, reverting this patch would > revert to seeing a SEGV in your testcase and thus a bug in the new code, > too. > > I attached both patches. It would be pretty nice if you could test them > and point out any problems you get with this new code. > > Please note that you should ideally perform a full rebuild due to the > slight change in TLS layout.
I confirmed that my STC and script command works as expected with these patches. Thank you for greate work! -- Takashi Yano <takashi.y...@nifty.ne.jp> -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple