diff --git a/gstlal-inspiral/bin/gstlal_inspiral b/gstlal-inspiral/bin/gstlal_inspiral index c660534811d7042943bd867bc9aea0dcb058de0e..2146e703f51b4fbbeff2e17050230e0560d6f79a 100755 --- a/gstlal-inspiral/bin/gstlal_inspiral +++ b/gstlal-inspiral/bin/gstlal_inspiral @@ -1100,8 +1100,13 @@ for output_file_number, (svd_bank_url_dict, output_url, ranking_stat_output_url, print("shutdown: del banks", flush=True, file=sys.stderr) del banks - print("shutdown: Gstreamer set state to NULL", flush=True, file=sys.stderr) - stream.set_state(Gst.State.NULL) + # FIXME: error handling is broken and trying to + # set the state to NULL here for online data sources + # can sometimes cause the process to hang instead of + # exiting. So we'll just skip it for the online case + if not options.data_source in ("lvshm", "framexmit", "devshm"): + print("shutdown: Gstreamer set state to NULL", flush=True, file=sys.stderr) + stream.set_state(Gst.State.NULL) #