Messages in this thread | | | Date | Wed, 7 Oct 2009 13:30:49 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH 1/4] signals: SEND_SIG_NOINFO should be considered as SI_FROMUSER() |
| |
On 10/06, Roland McGrath wrote: > > > Perhaps, we should add the comment to explain that both SI_FROMUSER() > > and si_fromuser() are only valid in the sending pathes. > > Yes. Also now that you put them both in a sentence together, it is clear > that it is insane to have two different things with those two names that > differ only in capitalization.
I think this doesn't matter because we need more cleanups. As for naming I agree, si_fromuser() sucks and I'd be happy to send the patch which renames it (or re-send these 2 patches).
The problem is, both SI_FROMUSER() and SI_FROMKERNEL() must die imho. In fact I think they should never exist.
SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
note "<=", this means this helper is unuseable. What we need is another macro/inline which checks "si_code < 0" (or >= 0 depending on naming), this helper should be used by sys_sigqueueinfo/etc which can not not use SI_FROMXXX() because SI_USER is rightly forbidden. __send_signal() can use the new helper too.
Other cleanups which imho makes sense:
- rename SEND_SIG_XXX
- redefine them to make sure SEND_SIG_NOINFO != NULL
Oleg.
| |