File tree Expand file tree Collapse file tree
Src/SocketIoClientDotNet.net45/Client Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -244,14 +244,18 @@ private Manager Open(IOpenCallback fn)
244244 log2 . Info ( "Manager Open finish" ) ;
245245
246246 } , timeout ) ;
247-
248- Subs . Enqueue ( new On . ActionHandleImpl ( timer . Stop ) ) ;
249- ;
247+ lock ( Subs )
248+ {
249+ Subs . Enqueue ( new On . ActionHandleImpl ( timer . Stop ) ) ;
250+ }
250251
251252 }
252253
253- Subs . Enqueue ( openSub ) ;
254- Subs . Enqueue ( errorSub ) ;
254+ lock ( Subs )
255+ {
256+ Subs . Enqueue ( openSub ) ;
257+ Subs . Enqueue ( errorSub ) ;
258+ }
255259 EngineSocket . Open ( ) ;
256260
257261 return this ;
@@ -280,25 +284,38 @@ private void OnOpen()
280284 Ondata ( ( byte [ ] ) data ) ;
281285 }
282286 } ) ) ;
283- Subs . Enqueue ( sub ) ;
287+ lock ( Subs )
288+ {
289+ Subs . Enqueue ( sub ) ;
290+ }
284291
285292 sub = Client . On . Create ( this . Decoder , Parser . Parser . Decoder . EVENT_DECODED , new ListenerImpl ( ( data ) =>
286293 {
287294 OnDecoded ( ( Parser . Packet ) data ) ;
288295 } ) ) ;
289- Subs . Enqueue ( sub ) ;
296+ lock ( Subs )
297+ {
298+ Subs . Enqueue ( sub ) ;
299+ }
290300
291301 sub = Client . On . Create ( socket , Engine . EVENT_ERROR , new ListenerImpl ( ( data ) =>
292302 {
293303 OnError ( ( Exception ) data ) ;
294304 } ) ) ;
295- Subs . Enqueue ( sub ) ;
305+ lock ( Subs )
306+ {
307+ Subs . Enqueue ( sub ) ;
308+ }
296309
297310 sub = Client . On . Create ( socket , Engine . EVENT_CLOSE , new ListenerImpl ( ( data ) =>
298311 {
299312 OnClose ( ( string ) data ) ;
300313 } ) ) ;
301- Subs . Enqueue ( sub ) ;
314+
315+ lock ( Subs )
316+ {
317+ Subs . Enqueue ( sub ) ;
318+ }
302319
303320
304321 }
@@ -396,9 +413,12 @@ private void ProcessPacketQueue()
396413
397414 private void Cleanup ( )
398415 {
399- foreach ( var sub in Subs )
416+ lock ( Subs )
400417 {
401- sub . Destroy ( ) ;
418+ foreach ( var sub in Subs )
419+ {
420+ sub . Destroy ( ) ;
421+ }
402422 }
403423 }
404424
You can’t perform that action at this time.
0 commit comments