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

Re: All services that require a restart from libc6 upgrade...



> From: rjk@greenend.org.uk (Richard Kettlewell) 
> ...so when my Netscape stopped being able to find web pages (well,
> actually it couldn't even find my squid) after a libc upgrade, it
> wasn't actually a Netscape bug after all?
>
> It's not only daemons that do name service lookups; user applications
> do to.  I'd have thought that the solution more or less *has* to be on
> the Libc side of things, to avoid breaking user sessions.

How about this:

Have libc6 place a variable in the dynamically loaded modules
recording their versions.  When it loads one, it checks for
compatibility with itself.  If there's a mismatch it by default aborts
the program with a cogent error message.  But if something is set by
the user's code it invokes a user-defined handler instead, which would
typically maybe do a little cleanup and then exec() the entire program
again from scratch, thus getting the new libc6.

This would have nice default behavior, would allow daemons to handle
this situation robustly, would not clutter up the scripts in /etc/,
and in general would seem to pound the hammer where the nail is
actually sticking up.



Reply to: