Module Name: src
Committed By: msaitoh
Date: Sun Dec 21 20:24:41 UTC 2014
Modified Files:
src/usr.sbin/perfused [netbsd-6]: perfused.c
Log Message:
Pull up following revision(s) (requested by manu in ticket #1215):
usr.sbin/perfused/perfused.c: revision 1.25
Survive if filesystem installs a signal handler
We tested for signal(3) to return 0 for success, which is incorrect:
signal(3) returns the previous handler. Success should be tested as
!= SIG_ERR, otherwise we fail when a signal handler was previously
installed by perfused(8) parrent process, which happens to be the
FUSE filesystem.
To generate a diff of this commit:
cvs rdiff -u -r1.22.2.2 -r1.22.2.3 src/usr.sbin/perfused/perfused.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.sbin/perfused/perfused.c
diff -u src/usr.sbin/perfused/perfused.c:1.22.2.2 src/usr.sbin/perfused/perfused.c:1.22.2.3
--- src/usr.sbin/perfused/perfused.c:1.22.2.2 Sun Aug 12 13:13:21 2012
+++ src/usr.sbin/perfused/perfused.c Sun Dec 21 20:24:40 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: perfused.c,v 1.22.2.2 2012/08/12 13:13:21 martin Exp $ */
+/* $NetBSD: perfused.c,v 1.22.2.3 2014/12/21 20:24:40 msaitoh Exp $ */
/*-
* Copyright (c) 2010 Emmanuel Dreyfus. All rights reserved.
@@ -298,7 +298,7 @@ new_mount(int fd, int pmnt_flags)
"could not open \"%s\"",
_PATH_VAR_RUN_PERFUSE_TRACE);
- if (signal(SIGUSR1, sigusr1_handler) != 0)
+ if (signal(SIGUSR1, sigusr1_handler) == SIG_ERR)
DERR(EX_OSERR, "signal failed");
/*
@@ -399,7 +399,7 @@ parse_options(int argc, char **argv)
perfuse_diagflags |= parse_debug(optarg);
break;
case 's':
- if (signal(SIGINFO, siginfo_handler) != 0)
+ if (signal(SIGINFO, siginfo_handler) == SIG_ERR)
DERR(EX_OSERR, "signal failed");
break;
case 'f':