If a program (ie not a process) exits by calling exec(3) then the functions registered by atexit(3) are not called. I've not looked to see if this is a problem anywhere, but it is certainly inconsistent. Amongst other effects this means that the termination functions of shared libraries will not be executed. David -- David Laight: david@l8s.co.uk