Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/sys/compat/linux/common Pull up revision 1.29 (via patc...



details:   https://anonhg.NetBSD.org/src/rev/8b833b1d8932
branches:  netbsd-1-5
changeset: 490997:8b833b1d8932
user:      he <he%NetBSD.org@localhost>
date:      Fri Mar 30 21:43:30 2001 +0000

description:
Pull up revision 1.29 (via patch, requested by fvdl):
  Add some required Linux emulation bits to support the Linux
  version of VMware.

diffstat:

 sys/compat/linux/common/linux_signal.c |  18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diffs (32 lines):

diff -r 3327ea9c7236 -r 8b833b1d8932 sys/compat/linux/common/linux_signal.c
--- a/sys/compat/linux/common/linux_signal.c    Fri Mar 30 21:42:57 2001 +0000
+++ b/sys/compat/linux/common/linux_signal.c    Fri Mar 30 21:43:30 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: linux_signal.c,v 1.26 2000/03/30 11:27:18 augustss Exp $       */
+/*     $NetBSD: linux_signal.c,v 1.26.4.1 2001/03/30 21:43:30 he Exp $ */
 /*-
  * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -344,10 +344,18 @@
        sig = SCARG(uap, signum);
        if (sig < 0 || sig >= LINUX__NSIG)
                return (EINVAL);
-       error = sigaction1(p, linux_to_native_sig[sig],
-           SCARG(uap, nsa) ? &nbsa : 0, SCARG(uap, osa) ? &obsa : 0);
-       if (error)
-               return (error);
+       if (sig > 0 && !linux_to_native_sig[sig]) {
+               /* Pretend that we did something useful for unknown signals. */
+               obsa.sa_handler = SIG_IGN;
+               sigemptyset(&obsa.sa_mask);
+               obsa.sa_flags = 0;
+       } else {
+               error = sigaction1(p, linux_to_native_sig[sig],
+                   SCARG(uap, nsa) ? &nbsa : NULL,
+                   SCARG(uap, osa) ? &obsa : NULL);
+               if (error)
+                       return (error);
+       }
        if (SCARG(uap, osa)) {
                native_to_linux_sigaction(&obsa, &olsa);
                error = copyout(&olsa, SCARG(uap, osa), sizeof(olsa));



Home | Main Index | Thread Index | Old Index