On Thu, Jan 09, 2003 at 05:25:20PM +0100, Pawel Jakub Dawidek wrote:
> On Thu, Jan 09, 2003 at 11:03:55AM -0500, Jake Burkholder wrote:
> +> The kernel longjmp only ever seems to return 1.  See i386/i386/support.s.
> 
> That's right, thanks!
> 
> But this is strange, setjmp/longjmp are defined in C99 and there
> setjmp() returns value from longjmp().

setjmp/longjmp are defined in C99 for *hosted* C implementations. 
When compiling a kernel one is almost certainly using a freestanding C
implementatio, which basically means that there are only a few library
facilities that need be present.  Setjmp/longjmp is not among them. 
This means that for the kernel setjmp/longjmp the C standard has
nothing to say about their behaviour.  It might of course be desirable
to make them work the same as the standard facilities as far as it is
practical, but it is not always practical.

-- 
<Insert your favourite quote here.>
Erik Trulsson
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to