Hello hackers...

I got strange problem when trying to implement something like exceptions
with setjmp()/longjmp() functions.

        [...]
        int ret;
        jmpbuf buf;
        [...]
        ret = setjmp(buf);
        KASSERT(ret != 1, ("I never return 1 with longjmp()."));
        [...]
        longjmp(buf, value_diffrent_than_1);
        [...]

And setjmp() returns only 0 or 1 (when longjmp() is called), but never
returns value that I've put in longjmp() call.

There could be some other problems in using setjmp()/longjmp()
in kernel? I'm paying attention on memory leaks and locks that are
done before longjmp().

-- 
Pawel Jakub Dawidek
UNIX Systems Administrator
http://garage.freebsd.pl
Am I Evil? Yes, I Am.

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

Reply via email to