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.
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index 041831f6..754043f 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -60,6 +60,7 @@
"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 @@
{ "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 @@
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);