diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-07-11 16:13:38 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-07-27 22:15:04 +0200 |
commit | a30f47613abb7c22a26d534d66e478265a8c2c09 (patch) | |
tree | 04374e0b4f096c71e9fb0a8f5262b2a3aa7c672d /src/pcu_main.cpp | |
parent | 51c57045e533caaa51ca5acf8929628c21dd6b94 (diff) |
misc: Add an option exit/quit when the BSSGP is supposed to be destroyed
The PCU does not properly re-set the state when the connection to the
BTS is lost (and the SGSN potentially is re-started during that). This
results in the BSSGP BVCI > 1 remaining blocked and no data will be
accepted by the SGSN.
Add the '-e' option and exit the PCU when the BSSGP/NS are getting
destroyed.
Diffstat (limited to 'src/pcu_main.cpp')
-rw-r--r-- | src/pcu_main.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp index 041831f6..754043f9 100644 --- a/src/pcu_main.cpp +++ b/src/pcu_main.cpp @@ -60,6 +60,7 @@ static void print_help() "provided by BTS\n" " -r --realtime PRIO Use SCHED_RR with the specified " "priority\n" + " -e --exit Exit the application on disconnect\n" ); } @@ -75,10 +76,11 @@ static void handle_options(int argc, char **argv) { "mnc", 1, 0, 'n' }, { "version", 0, 0, 'V' }, { "realtime", 1, 0, 'r' }, + { "exit", 0, 0, 'e' }, { 0, 0, 0, 0 } }; - c = getopt_long(argc, argv, "hc:m:n:Vr:", + c = getopt_long(argc, argv, "hc:m:n:Vr:e", long_options, &option_idx); if (c == -1) break; @@ -105,6 +107,9 @@ static void handle_options(int argc, char **argv) case 'r': rt_prio = atoi(optarg); break; + case 'e': + gprs_bssgp_exit_on_destroy(); + break; default: fprintf(stderr, "Unknown option '%c'\n", c); exit(0); |