cleanup handlers and longjmp

Mark Brown bmark@us.ibm.com
Mon Dec 11 14:55:00 GMT 2000


Momchil Velikov wrote:
> 
> >>>>> "Martin" == Martin v Loewis <martin@loewis.home.cs.tu-berlin.de> writes:
> 
> >> IMHO, trying to run the cleanup handlers to the point, where setjmp
> >> has been called, contradicts to the specifications, as this (or other)
> >> behaviour is not left as implementation defined.
> 
> Martin> No, guaranteeing behaviour for something that is normally undefined is
> Martin> an extension to the spec; it does not contradict it.
> 
> Hmm, I'd expect words like "unspecified" or "implementation defined"
> to be used for the case you describe, and "undefined (behaviuor)" for
> foridden stuff.

implementation defined = means that the behavior is not specified, but the
implementation must document what happens.

undefined = anything can happen, from correct operation to core dump to
nuclear meltdown :-). It is not "forbidden", but the behavior in this area
is not specified or described in any way by the standard.

Mark Brown
IEEE POSIX 1003.1/1003.2 Interpretations Committee
Open Group UNIX Base Working Group

-- 
Mark S. Brown                                                   bmark@us.ibm.com
Senior Technical Staff Member                          512.838.3926  T/L678.3926
IBM RS/6000 AIX System Architecture                        Mark Brown/Austin/IBM
IBM Corporation, Austin, Texas


More information about the Libc-alpha mailing list