Rafael Diniz has uploaded this change for review. ( 
https://gerrit.osmocom.org/12718


Change subject: Added support for daemonize to osmo-pcu.
......................................................................

Added support for daemonize to osmo-pcu.

Change-Id: Ia889544e0a350b6bab55da4e4201a617e0241ea2
---
M src/pcu_main.cpp
1 file changed, 15 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/12718/1

diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index 7480842..f421e93 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -60,6 +60,7 @@
 extern void *bv_tall_ctx;
 static int quit = 0;
 static int rt_prio = -1;
+static int daemonize = 0;
 static const char *gsmtap_addr = "localhost"; // FIXME: use gengetopt's 
default value instead

 static void print_help()
@@ -75,6 +76,7 @@
                "  -V   --version       print version\n"
                "  -r   --realtime PRIO Use SCHED_RR with the specified "
                        "priority\n"
+               "  -D   --daemonize Fork the process into a background daemon\n"
                "  -i   --gsmtap-ip     The destination IP used for GSMTAP.\n"
                );
 }
@@ -91,12 +93,13 @@
                        { "mnc", 1, 0, 'n' },
                        { "version", 0, 0, 'V' },
                        { "realtime", 1, 0, 'r' },
+                       {"daemonize", 0, 0, 'D'},
                        { "exit", 0, 0, 'e' },
                        { "gsmtap-ip", 1, 0, 'i' },
                        { 0, 0, 0, 0 }
                };

-               c = getopt_long(argc, argv, "hc:m:n:Vr:e:i:",
+               c = getopt_long(argc, argv, "hc:m:n:Vr:De:i:",
                                long_options, &option_idx);
                if (c == -1)
                        break;
@@ -130,6 +133,9 @@
                case 'r':
                        rt_prio = atoi(optarg);
                        break;
+               case 'D':
+                       daemonize = 1;
+                       break;
                case 'e':
                        fprintf(stderr, "Warning: Option '-e' is 
deprecated!\n");
                        break;
@@ -329,6 +335,14 @@
                }
        }

+       if (daemonize) {
+               rc = osmo_daemonize();
+               if (rc < 0) {
+                       perror("Error during daemonize");
+                       exit(1);
+               }
+       }
+
        while (!quit) {
                osmo_gsm_timers_check();
                osmo_gsm_timers_prepare();

--
To view, visit https://gerrit.osmocom.org/12718
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia889544e0a350b6bab55da4e4201a617e0241ea2
Gerrit-Change-Number: 12718
Gerrit-PatchSet: 1
Gerrit-Owner: Rafael Diniz <[email protected]>

Reply via email to