Skip to content

Commit d1d2e12

Browse files
committed
Fix hanging when a connection is closed without an MRD header
1 parent 7acdde7 commit d1d2e12

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

connection.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,8 @@ def read_config_text(self):
202202
config = self.read(length)
203203
config = config.split(b'\x00',1)[0].decode('utf-8') # Strip off null teminator
204204

205+
logging.debug(" " + config)
206+
205207
if self.savedata is True:
206208
if self.dset is None:
207209
self.create_save_file()

server.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ def handle(self, sock):
7777

7878
# Second messages is the metadata (text)
7979
metadata_xml = next(connection)
80+
81+
# Break if no MRD header was received before a close message (e.g. Gadgetron dependency query)
82+
if ((metadata_xml is None) & (connection.is_exhausted is True)):
83+
logging.info("Connection closed without an MRD header received")
84+
return
85+
8086
logging.debug("XML Metadata: %s", metadata_xml)
8187
try:
8288
metadata = ismrmrd.xsd.CreateFromDocument(metadata_xml)

0 commit comments

Comments
 (0)