@@ -114,7 +114,7 @@ final public class OTPConsumer: Component {
114114
115115 /// Whether the consumer is able to send/receive data (thread-safe).
116116 public var isConnected : Bool {
117- get { Self . socketDelegateQueue . sync { _isConnected } }
117+ get { Self . queue . sync ( flags : . barrier ) { _isConnected } }
118118 }
119119
120120 /// The private socket consumer send/receive status.
@@ -338,7 +338,7 @@ final public class OTPConsumer: Component {
338338 try unicastSocket. startListening ( )
339339 try multicast4Socket? . startListening ( multicastGroups: [ IPv4 . advertisementMessageHostname] )
340340 try multicast6Socket? . startListening ( multicastGroups: [ IPv6 . advertisementMessageHostname] )
341- Self . socketDelegateQueue . sync {
341+ Self . queue . sync ( flags : . barrier ) {
342342 self . _isConnected = true
343343 }
344344
@@ -1607,9 +1607,11 @@ extension OTPConsumer: ComponentSocketDelegate {
16071607
16081608 */
16091609 func socketDidClose( _ socket: ComponentSocket , withError error: Error ? ) {
1610- if self . _isConnected != false {
1611- self . _isConnected = false
1612- delegateQueue. async { self . consumerDelegate? . disconnected ( self , with: error) }
1610+ Self . queue. sync ( flags: . barrier) {
1611+ if self . _isConnected != false {
1612+ self . _isConnected = false
1613+ delegateQueue. async { self . consumerDelegate? . disconnected ( self , with: error) }
1614+ }
16131615 }
16141616 }
16151617
0 commit comments