This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: cleanup handlers and longjmp
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