Date: Thu, 9 Jan 2003 15:30:59 +0100 From: Pawel Jakub Dawidek <P.Dawidek@prioris.mini.pw.edu.pl> To: freebsd-hackers@freebsd.org Subject: Exceptions via setjmp/longjmp in kernel. Message-ID: <20030109143059.GC47263@prioris.mini.pw.edu.pl>
next in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030109143059.GC47263>
