Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 153026 Details for
Bug 296056
Deadlock between syncExec and IJobManager.beginRule
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
v2
v2.patch (text/plain), 1.60 KB, created by
Min Idzelis
on 2009-11-24 21:15:31 EST
(
hide
)
Description:
v2
Filename:
MIME Type:
Creator:
Min Idzelis
Created:
2009-11-24 21:15:31 EST
Size:
1.60 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.core.jobs >Index: src/org/eclipse/core/internal/jobs/ThreadJob.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/ThreadJob.java,v >retrieving revision 1.7 >diff -u -r1.7 ThreadJob.java >--- src/org/eclipse/core/internal/jobs/ThreadJob.java 22 Nov 2009 04:51:44 -0000 1.7 >+++ src/org/eclipse/core/internal/jobs/ThreadJob.java 25 Nov 2009 02:08:58 -0000 >@@ -202,8 +202,17 @@ > try { > manager.reportBlocked(monitor, blockingJob); > while (true) { >- if (isCanceled(monitor)) >- throw new OperationCanceledException(); >+ // just return if lock listener decided to grant immediate access >+ if (manager.getLockManager().aboutToWait(blocker)) { >+ //only return if the runner wasn't already done >+ if (runner.shutdown()) >+ return this; >+ } >+ if (isCanceled(monitor)) { >+ // only return if the runner wasn't already done >+ if (runner.shutdown()) >+ throw new OperationCanceledException(); >+ } > synchronized (runner.getNotifier()) { > if (runner.isFinished()) > break; >@@ -257,8 +266,6 @@ > manager.beginMonitoring(this, monitor); > final Thread currentThread = Thread.currentThread(); > >- // Check all conditions under the manager.lock. Anything that can >- // cause a change in any condition must also notify() the lock. > // Invoke aboutToWait() once per newly discovered blocker. > // aboutToWait() must be called without holding any locks. > while (true) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 296056
:
153023
|
153024
| 153026