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

Re: Summary of current experimental tags



On 2013-04-07 21:22, Russ Allbery wrote:
> Jakub Wilk <jwilk@debian.org> writes:
>> * Niels Thykier <niels@thykier.net>, 2013-04-07, 17:33:
> [...]
>>> * shlib-calls-exit
>>>  - Some 2300 tags in < 1000 packages
>>>  - Russ suggested that this tag should be dropped[2].
>>>  - it is wishlist/possible (I)
> 
>> It's been almost always true positive for me, so I'd prefer if we kept
>> it.
> 
> Are you certain?  (In other words, how have you confirmed that the library
> actually calls the code that calls exit?)  It gives false positives on
> every shared library package for which I'm upstream because I use shared
> code for error handling and the linker isn't smart enough to drop the exit
> calls that are unreachable.  If you only checked by looking to see if exit
> was in the code that's linked into the shared library, it of course is,
> but it's not possible for the shared library to call that code.
> 
> It also gives false positives on any Apache module that reports fatal
> syntax errors in configuration files, since the accepted way of doing that
> is to call exit.
> 

I had a brief chat with Arno "daemonkeeper" about this and he suggested
the the use of "exit(2)" has largely been replaced by better interfaces
in "APR" (see attached log.txt).

~Niels


14:45 < daemonkeeper> nthykier: In times of prefork as the only MPM (i.e. < 2.0) this was pretty common I think. It's not considered best practice anymore, and surely not part of module implementation recommendations. At least 
                      in the core modules you will barely find an exit(2) anymore. 
14:45 < daemonkeeper> These days APR provides better interfaces.
14:48 < nthykier> daemonkeeper: ok, so rra's comment on "fatal syntax errors" is outdated? :)
14:48 < daemonkeeper> nthykier: Well, if he's talking about the core module it might be still relevant, but the core module is merely a hack module, as you can't without :>
14:49 < daemonkeeper> I at least, have a hard time to find an exit() in a module for modern 2.2/2.4 branches
14:50 < daemonkeeper> There some very few exceptions. I don't know about messy third party modules though, e.g. PHP
14:50 < nthykier> ok, I will copy/waste this to thread then (if you don't mind) and see what they make of it
14:51 < daemonkeeper> Which probably part of the reason why PHP still hates event driven MPMs, apart from it's non existing GC
14:51 < daemonkeeper> Sure, feel free.

Reply to: