Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Apr 2000 11:09:07 -0500 (CDT)
From:      Steve Price <sprice@hiwaay.net>
To:        Anatoly Vorobey <mellon@pobox.com>
Cc:        hackers@freebsd.org
Subject:   Re: sigjmp_buf question
Message-ID:  <Pine.OSF.4.21.0004201037200.14905-100000@fly.HiWAAY.net>
In-Reply-To: <20000420055849.A66104@happy.checkpoint.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 20 Apr 2000, Anatoly Vorobey wrote:

# Look into src/lib/libc/i386/gen/_setjmp.S and other files in
# the same directory for setjmp() and sigsetmp(). Basically, it'll store
# edx, ebx, esp, ebp, esi, edi, and the CPU control word, in that order.

Now I finally understand why trying to use the following
construct to get the signalmask no longer works with
version >= 4.0.

	int signalmask = my_sigjmp_buf._sjb[6];

The status control word is there now and the signalmask
comes after because its size can vary.  In theory at least
I should be able to get the signalmask now with something
along the following lines.

	memcpy(signalmask, &(my_sigjmp_buf._sjb[7]),
	    sizeof(sigset_t));

Thanks.

-steve



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?Pine.OSF.4.21.0004201037200.14905-100000>