aboutsummaryrefslogtreecommitdiffstats
path: root/sharkd_daemon.c
diff options
context:
space:
mode:
authorJakub Zawadzki <darkjames-ws@darkjames.pl>2017-09-24 13:08:13 +0200
committerJakub Zawadzki <darkjames-ws@darkjames.pl>2017-09-24 13:51:34 +0000
commit21f6dca753c6e562eda6dae0dd754f7b96026383 (patch)
tree2fd35007357c4f858e44ab0ef60272a5cf9b498a /sharkd_daemon.c
parentd7ec2cbc38dc12b27bae3d043ae93aafe94caf91 (diff)
sharkd: don't go to background when using stdin and stdout.
Patch will allow to use stdin/stdout on other than windows platforms. Change-Id: I729ebd4efaa1675956b085e74b413805125a7d7a Reviewed-on: https://code.wireshark.org/review/23676 Petri-Dish: Jakub Zawadzki <darkjames-ws@darkjames.pl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jakub Zawadzki <darkjames-ws@darkjames.pl>
Diffstat (limited to 'sharkd_daemon.c')
-rw-r--r--sharkd_daemon.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/sharkd_daemon.c b/sharkd_daemon.c
index 0dc23e679c..d97e347f49 100644
--- a/sharkd_daemon.c
+++ b/sharkd_daemon.c
@@ -182,7 +182,7 @@ sharkd_init(int argc, char **argv)
if (argc != 2)
{
- fprintf(stderr, "Usage: %s <socket>\n", argv[0]);
+ fprintf(stderr, "Usage: %s <-|socket>\n", argv[0]);
fprintf(stderr, "\n");
fprintf(stderr, "<socket> examples:\n");
@@ -212,18 +212,21 @@ sharkd_init(int argc, char **argv)
_server_fd = fd;
}
+ if (!_use_stdinout)
+ {
+ /* all good - try to daemonize */
#ifndef _WIN32
- /* all good - try to daemonize */
- pid = fork();
- if (pid == -1)
- fprintf(stderr, "cannot go to background fork() failed: %s\n", g_strerror(errno));
+ pid = fork();
+ if (pid == -1)
+ fprintf(stderr, "cannot go to background fork() failed: %s\n", g_strerror(errno));
- if (pid != 0)
- {
- /* parent */
- exit(0);
- }
+ if (pid != 0)
+ {
+ /* parent */
+ exit(0);
+ }
#endif
+ }
return 0;
}