gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-dev] [PATCH] Use pselect() to reduce wakeups and avoid race co


From: Eckhart Wörner
Subject: Re: [gpsd-dev] [PATCH] Use pselect() to reduce wakeups and avoid race conditions
Date: Sat, 14 Jan 2012 01:18:44 +0100
User-agent: KMail/4.8 rc2 (Linux/3.2.0-8-generic; KDE/4.7.97; x86_64; ; )

Hi Mike,

Am Freitag, 13. Januar 2012, 18:35:55 schrieben Sie:
> it's worse than that.  you cannot send any signal a 2nd time once the first
> has been delivered.  the relationship to where the checking occurs doesn't
> matter. at any point before the app exits, sending the same signal a 2nd
> time will cause the kernel to immediately terminate it.

That I don't understand. The onsig handler can run twice in rapid succession, 
can't it?

> your original changelog is too vague to figure out which race and which
> signals you're referring to.  i'd suggest reposting with clarification and
> real details as to what it is fixing.

Well, the patch originated from a discussion on irc, it was only reposted on 
the mailing list for eternity.
I guess the discussion documents the exact reasons for the patch already. 
 
> > > the 3rd arg to sigprocmask() is not an emptyset, it's the old sigset, so
> > > the variable name needs tweaking.
> > 
> > The old sigset is the emptyset.
> 
> there is no guarantee this is true.  signal masks are inherited across forks
> and execs.

You're right, I forgot forks/execs. (Although it seems as if at the time of 
writing the patch, my subconscious made sure this case was handled properly.)

Eckhart



reply via email to

[Prev in Thread] Current Thread [Next in Thread]