diff options
| author | drochner <drochner@NetBSD.org> | 2010-05-20 17:10:42 +0000 |
|---|---|---|
| committer | drochner <drochner@NetBSD.org> | 2010-05-20 17:10:42 +0000 |
| commit | 8239dc73b562cbe8bb280132899da3a51ced593e (patch) | |
| tree | 6573f3244b650943fe5bb41f8f36890dbfc1c6c3 /sys | |
| parent | 8cfbddcc72dda6bc9b9d96aa0c10e48ed305e1f9 (diff) | |
fix sigwaitinfo/sigtimedwait:
-allow NULL "info" pointer
-return signal number
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/kern/sys_sig.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/kern/sys_sig.c b/sys/kern/sys_sig.c index 32b80d18969..c163a12eddb 100644 --- a/sys/kern/sys_sig.c +++ b/sys/kern/sys_sig.c @@ -1,4 +1,4 @@ -/* $NetBSD: sys_sig.c,v 1.26 2010/01/19 22:28:31 pooka Exp $ */ +/* $NetBSD: sys_sig.c,v 1.27 2010/05/20 17:10:42 drochner Exp $ */ /*- * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -66,7 +66,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sys_sig.c,v 1.26 2010/01/19 22:28:31 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_sig.c,v 1.27 2010/05/20 17:10:42 drochner Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -742,9 +742,11 @@ out: * Copy only the used part of siginfo, the padding part is * left unchanged (userland is not supposed to touch it anyway). */ - if (error == 0) { + if (error == 0 && SCARG(uap, info)) { error = (*storeinf)(&ksi.ksi_info, SCARG(uap, info), sizeof(ksi.ksi_info)); } + if (error == 0) + *retval = ksi.ksi_info._signo; return error; } |
