You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 13, 2023. It is now read-only.
There is a race condition in the getInstance method in SunshineRepository.java.
Imagine there are 2 threads - A and B - both calling getInstance() and that sInstance is null to start with
Thread A
Checks if sInstance is null. Returns True
Thread B
Checks if sInstance is null. Returns True
Thread A
Obtains the lock and creates a new instance for sInstance. Releases lock
Thread B
Remember Thread B already checked if sInstance was null earlier.
Obtains the lock and creates a new instance for sInstance. Releases lock
There should be a second null check inside the synchronized block.
The text was updated successfully, but these errors were encountered: