RE: Linux compat broken??

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 25 Apr 2003 12:07:38 -0400 (EDT)
On 25-Apr-2003 Jeff Utter wrote:
> 
>> This is current.  People running current are expected to not do updates
>> completely blind.  That said, you can try reverting revision 1.42 of
>> sys/compat/linux/linux_signal.c and see if it fixes your problem?
> 
>       Thanks!... that fixed most of my problems, vmware works now... However
> my nvidia drivers have started to mess up (they use linux compat right?)
> When i try to start X using them, my screen flashes once and returns to
> console locking up my system. Any idea what file(s) could have changed
> to do this?

Can you try putting revision 1.42 back and trying the attached patch
instead?

-- 

John Baldwin <jhb_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

Index: linux_signal.c
===================================================================
RCS file: /usr/cvs/src/sys/compat/linux/linux_signal.c,v
retrieving revision 1.42
diff -u -r1.42 linux_signal.c
--- linux_signal.c	22 Apr 2003 18:23:47 -0000	1.42
+++ linux_signal.c	25 Apr 2003 15:03:02 -0000
_at__at_ -233,14 +233,25 _at__at_
 
 	td->td_retval[0] = 0;
 
+	switch (how) {
+	case LINUX_SIG_BLOCK:
+		how = SIG_BLOCK;
+		break;
+	case LINUX_SIG_UNBLOCK:
+		how = SIG_UNBLOCK;
+		break;
+	case LINUX_SIG_SETMASK:
+		how = SIG_SETMASK;
+		break;
+	default:
+		return (EINVAL);
+	}
 	if (new != NULL) {
 		linux_to_bsd_sigset(new, &nmask);
 		nmaskp = &nmask;
 	} else
 		nmaskp = NULL;
-
-	/* Linux sigprocmask flag values are one less than FreeBSD values. */
-	error = kern_sigprocmask(td, how + 1, nmaskp, &omask, 0);
+	error = kern_sigprocmask(td, how, nmaskp, &omask, 0);
 	if (error != 0 && old != NULL)
 		bsd_to_linux_sigset(&omask, old);
 

End of MIME message
Received on Fri Apr 25 2003 - 07:07:38 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:05 UTC