Skip to content

Conversation

@drodriguez-carecloud
Copy link

No description provided.

fhriley and others added 11 commits October 12, 2017 17:52
 - Fix the most obvious thread safety issues in RecordHandler when dealing with HashMaps.

 - Fix a thread safety issue with the Record usage count. The scenario this fixes is as follows (t1 and t2 are independent threads):

   t1 - foo_t1 = client.record.getRecord("foo")
   t1 - foo_t1.discard() preempts just after if( this.usages <= 0 )
   t2 - foo_t2 = client.record.getRecord("foo")
   t1 - resumes and finishes foo_t1.discard()
   t2 - resumes and is now using a record that had destroy() called on it

 - Fix the following whenReady thread safety bug:

   t1: Record.whenReady(): preempts after "} else {"
   t2: Record.setReady()
   t2: Resumes and adds record to onceRecordReadyListeners, which will never be called because setReady has already been called. This will result in a hang.

 - Add threaded test to RecordTest. This test will hang when run on code before this commit.
Fixed NPE when being called for unknown event types (see issue deepstreamIO#131)
Fix connection status when deepstream is lost connection to be error …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants