From 90399d49f13e26150e9e9ca70cdfac7105134331 Mon Sep 17 00:00:00 2001 From: ha7ilm Date: Wed, 2 Dec 2015 19:39:03 +0100 Subject: [PATCH] Send a signal to rtl_command_proc on exit. --- config_webrx.py | 2 +- openwebrx.py | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/config_webrx.py b/config_webrx.py index 313efe5e..faea1c05 100644 --- a/config_webrx.py +++ b/config_webrx.py @@ -84,7 +84,7 @@ start_rtl_thread=True iq_server_port = 4951 -start_rtl_command="rtl_sdr -s {samp_rate} -f {center_freq} -p {ppm} -g {rf_gain} - | ddcd -p{iq_server_port} -d1".format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm, iq_server_port=iq_server_port) +start_rtl_command="rtl_sdr -s {samp_rate} -f {center_freq} -p {ppm} -g {rf_gain} - | ddcd -p{iq_server_port} -d3".format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm, iq_server_port=iq_server_port) format_conversion="csdr convert_u8_f" #start_rtl_command="hackrf_transfer -s {samp_rate} -f {center_freq} -g {rf_gain} -l16 -a0 -r hackrf_pipe & cat hackrf_pipe | nc -vvl 127.0.0.1 8888".format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm) diff --git a/openwebrx.py b/openwebrx.py index 5894f948..5fa9bf12 100755 --- a/openwebrx.py +++ b/openwebrx.py @@ -74,17 +74,18 @@ class MultiThreadHTTPServer(ThreadingMixIn, HTTPServer): pass def handle_signal(signal, frame): - global spectrum_dsp + global spectrum_dsp, rtl_command_proc print "[openwebrx] Ctrl+C: aborting." cleanup_clients(True) spectrum_dsp.stop() + if rtl_command_proc: rtl_command_proc.kill() os._exit(1) #not too graceful exit -rtl_thread=spectrum_dsp=server_fail=None +rtl_command_proc=rtl_thread=spectrum_dsp=server_fail=None def main(): global clients, clients_mutex, pypy, lock_try_time, avatar_ctime, cfg - global serverfail, rtl_thread + global serverfail, rtl_thread, rtl_command_proc print print "OpenWebRX - Open Source SDR Web App for Everyone! | for license see LICENSE file in the package" print "_________________________________________________________________________________________________" @@ -117,8 +118,9 @@ def main(): #Start rtl thread if cfg.start_rtl_thread: - rtl_thread=threading.Thread(target = lambda:subprocess.Popen(cfg.start_rtl_command, shell=True), args=()) - rtl_thread.start() + rtl_command_proc=subprocess.Popen(cfg.start_rtl_command, shell=True) + #rtl_thread=threading.Thread(target = lambda:subprocess.Popen(cfg.start_rtl_command, shell=True), args=()) + #rtl_thread.start() print "[openwebrx-main] Started rtl_thread: "+cfg.start_rtl_command """ #Now we use ddcd instead of this.