Subject: lib/655: sigsetjmp/setlongjmp bug?
To: None <gnats-admin@sun-lamp.cs.berkeley.edu>
From: James Jegers <jimj@enigma.cs.uwm.edu>
List: netbsd-bugs
Date: 12/23/1994 10:20:07
>Number:         655
>Category:       lib
>Synopsis:       The new sigsetjmp/siglongjmp funcitons don't work
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people (Library Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 23 10:20:04 1994
>Originator:     James Jegers
>Organization:
"	"
>Release:        as of 12/21/94	<NetBSD-current source date>
>Environment:
	
System: NetBSD enigma.cs.uwm.edu 1.0A NetBSD 1.0A (ENIGMA) #0: Mon Nov 28 16:57:17 CST 1994 jimj@enigma.cs.uwm.edu:/usr/src/sys/arch/i386/compile/ENIGMA i386


>Description:
	
	 The sigsetjmp and siglongjmp functions don't appear to be working as
	 they should, and one of the programs which break is xdm.
	I tried writting a program using setjmp,longjmp and that works fine, but
	when I change it to the sig... functions it doesn't appear to work.
>How-To-Repeat:

#include <setjmp.h>
#include <stdio.h>

main()
{
	int i;
 	sigjmp_buf buf;

	i = 1;

	i = sigsetjmp(buf, 1);
	printf("%d\n", i);

	siglongjmp(buf, 5);

	printf("shouldn't get here\n");
}
	
>Fix:
 	Bring back the  libc/arch/i386/gen/sigsetjmp.S file?  Works for me..:-)
	
>Audit-Trail:
>Unformatted: