Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 272811

Summary: Display#addSync() waits infinitely under certain circumstances
Product: [RT] RAP Reporter: Rüdiger Herrmann <ruediger.herrmann>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: fr.appel
Version: 1.1   
Target Milestone: 1.2 M7   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Proposed fix none

Description Rüdiger Herrmann CLA 2009-04-18 15:35:58 EDT
Calling Display#addSync() may cause the calling thread to wait infinitely for the method to return.
The reason therefore seems to be that the given runnable is executed and the notify signal it emits afterwards is "lost". The calling thread waits to be signalled but since this signal was already sent, it waits infinitely.

See also:
  http://dev.eclipse.org/mhonarc/lists/rap-dev/msg00414.html

This bug is probably related to bug 220981.
Comment 1 Rüdiger Herrmann CLA 2009-04-18 15:41:39 EDT
Created attachment 132337 [details]
Proposed fix

Added a check to SyncRunnable#block() to see if notifyAll() was called before entering wait()
Comment 2 Rüdiger Herrmann CLA 2009-04-20 17:38:11 EDT
*** Bug 220981 has been marked as a duplicate of this bug. ***
Comment 3 Rüdiger Herrmann CLA 2009-04-20 17:41:14 EDT
After some more testing , I decided to commit the changes.