summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/candump.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/candump.c b/src/candump.c
index 78acdbf..844bd58 100644
--- a/src/candump.c
+++ b/src/candump.c
@@ -83,8 +83,6 @@ int main(int argc, char **argv)
int n = 0, err;
signal(SIGPIPE, SIG_IGN);
- signal(SIGTERM, sigterm);
- signal(SIGHUP, sigterm);
struct option long_options[] = {
{ "help", no_argument, 0, 'h' },
@@ -181,6 +179,13 @@ int main(int argc, char **argv)
}
}
+ if (optdaemon)
+ daemon(1, 0);
+ else {
+ signal(SIGTERM, sigterm);
+ signal(SIGHUP, sigterm);
+ }
+
if (optout) {
out = fopen(optout, "a");
if (!out) {
@@ -189,9 +194,6 @@ int main(int argc, char **argv)
}
}
- if (optdaemon)
- daemon(1, 0);
-
while (running) {
if ((nbytes = read(s, &frame, sizeof(struct can_frame))) < 0) {
perror("read");