+ Uwe Ohse <[EMAIL PROTECTED]>:

| On Wed, Mar 08, 2000 at 05:06:20PM +0100, Harald Hanche-Olsen wrote:
|  
| > <[EMAIL PROTECTED]>:
| > crt0: ERROR: mmap failed for dld (data) errno:000000012
| > Unable to forward message: qq permanent problem (#5.3.0).
| 
| this can only happen "if ((exitcode >= 11) && (exitcode <= 40))",
| which qmail-queue doesn't return in case of "out of memory".

I assume this happened before the program entered main().

Which brings up a natural question:  What, in general, is supposed to
happen if a program is unable to proceed before it enters main(),
e.g., because the dynamic loader could not get the memory it needs?
Clearly, it is too late for the original process to return from
exec(), yet the programmer has no influence over what will happen.
For packages like qmail, it is important to recognize the situation so
it can be dealt with properly, yet this is clearly impossible unless
there is a documented behaviour one can rely on.

(My guess would have been that the process should commit suicide
rather than just exiting, perhaps by sending itself a SIGSEGV or
SIGABRT.)

- Harald

Reply via email to