Inetd.c sigpause() --> __xpg_sigpause() not in uClibc

John Z. Bohach jzb at aexorsyst.com
Wed Nov 9 04:20:52 UTC 2005


> I'm not against rewrites.  But complete rewrites masquerading as a bugfix
> for something that has a 2-line patch, and thus go in unannounced?
>
> I never noticed this before because inetd is something I simply don't
> use...
>
> Rob

Well, I was afraid it might be something like this, thus I didn't want to 
simply throw another patch at ya...

Thanks for the analysis.  I've done a bit more research on the '__xpg_' 
prefix, and it seems that sigpause() is an XPG/4 or XPG4-Unix extension to 
the signals.c in the C library.

Its likely that the true culprit here is uClibc not providing __xpg_sigpause 
and only providing __sigpause (this IS a difference from glibc), but I'm not  
sure if Erik wants to add a deprecated prefix into uClibc.  This has 
something to do with the -D_XOPEN_SOURCE preprocessor flag or some other 
equally standards-related flag.

Anyway, a quickie fix is simply to revert the code around the sigpause() back 
to 11010, and in looking at that old code, I don't see anything obviously 
wrong with it, but then again I've not done a thorough code analysis on that 
portion.  If you need me to do so, and actually send a patch back, I don't 
mind at all, since that's probably what I'll do anyway on my local copy of 
busybox just to get past this.  But if I really feel motivated, I might add 
the __xpg_sigpause to uClibc and send that as a patch to the uClibc project.  
It somewhat depends on what you and others think is the best approach...

--john

-- 
     ###  Any similarity between my views and the truth is completely ###
     ###  coincidental, except that they are endorsed by NO ONE       ###




More information about the busybox mailing list