diff --git a/src/BSCIPAConnection.st b/src/BSCIPAConnection.st index 0c05b07..d25b219 100644 --- a/src/BSCIPAConnection.st +++ b/src/BSCIPAConnection.st @@ -141,10 +141,9 @@ BSCConnection subclass: BSCIPAConnection [ "Drain the send queue in a new process" tx := [ - [[ - | msg | - msg := writeQueue next. - socket nextPutAllFlush: msg. + [ + [ + self runTxQueueOnce ] repeat. ] ensure: [ self logNotice: 'BSC TX queue lac: %1 finished' % {self lac} area: #bsc] @@ -152,6 +151,14 @@ BSCConnection subclass: BSCIPAConnection [ ] + runTxQueueOnce [ + | msg | + + + msg := writeQueue next. + socket nextPutAllFlush: msg. + ] + send: aMsg with: aType [ terminated = true ifTrue: [^false].