sharkd: don't go to background when using stdin and stdout.
authorJakub Zawadzki <darkjames-ws@darkjames.pl>
Sun, 24 Sep 2017 11:08:13 +0000 (13:08 +0200)
committerJakub Zawadzki <darkjames-ws@darkjames.pl>
Sun, 24 Sep 2017 13:51:34 +0000 (13:51 +0000)
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>
sharkd_daemon.c

index 0dc23e679cfde6e40d64e6fee268f38c384de33c..d97e347f493e924c0b58726cb18e6c9c3254da66 100644 (file)
@@ -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;
 }