|
Lines 57-63
Link Here
|
| 57 |
static boolean DEBUG_TIMING = false; |
57 |
static boolean DEBUG_TIMING = false; |
| 58 |
static boolean DEBUG_SHUTDOWN = false; |
58 |
static boolean DEBUG_SHUTDOWN = false; |
| 59 |
private static DateFormat DEBUG_FORMAT; |
59 |
private static DateFormat DEBUG_FORMAT; |
| 60 |
private static final IProgressMonitor NULL_MONITOR = new NullProgressMonitor(); |
|
|
| 61 |
|
60 |
|
| 62 |
/** |
61 |
/** |
| 63 |
* The singleton job manager instance. It must be a singleton because |
62 |
* The singleton job manager instance. It must be a singleton because |
|
Lines 241-247
Link Here
|
| 241 |
monitor = job.getProgressMonitor(); |
240 |
monitor = job.getProgressMonitor(); |
| 242 |
break; |
241 |
break; |
| 243 |
} |
242 |
} |
| 244 |
//fall through for ABOUT_TO_RUN case |
243 |
//signal that the job should be canceled before it gets a chance to run |
|
|
244 |
job.setAboutToRunCanceled(true); |
| 245 |
return true; |
| 245 |
default : |
246 |
default : |
| 246 |
changeState(job, Job.NONE); |
247 |
changeState(job, Job.NONE); |
| 247 |
} |
248 |
} |
|
Lines 538-544
Link Here
|
| 538 |
if (JobManager.DEBUG && notify) |
539 |
if (JobManager.DEBUG && notify) |
| 539 |
JobManager.debug("Ending job: " + job); //$NON-NLS-1$ |
540 |
JobManager.debug("Ending job: " + job); //$NON-NLS-1$ |
| 540 |
job.setResult(result); |
541 |
job.setResult(result); |
| 541 |
job.setProgressMonitor(NULL_MONITOR); |
542 |
job.setProgressMonitor(null); |
| 542 |
job.setThread(null); |
543 |
job.setThread(null); |
| 543 |
rescheduleDelay = job.getStartTime(); |
544 |
rescheduleDelay = job.getStartTime(); |
| 544 |
changeState(job, Job.NONE); |
545 |
changeState(job, Job.NONE); |
|
Lines 1125-1134
Link Here
|
| 1125 |
synchronized (lock) { |
1126 |
synchronized (lock) { |
| 1126 |
if (job.getState() == Job.RUNNING) { |
1127 |
if (job.getState() == Job.RUNNING) { |
| 1127 |
InternalJob internal = job; |
1128 |
InternalJob internal = job; |
| 1128 |
internal.setProgressMonitor(createMonitor(job)); |
1129 |
if (internal.isAboutToRunCanceled()) { |
| 1129 |
//change from ABOUT_TO_RUN to RUNNING |
1130 |
internal.setAboutToRunCanceled(false); |
| 1130 |
internal.internalSetState(Job.RUNNING); |
1131 |
//fall through and end the job below |
| 1131 |
break; |
1132 |
} else { |
|
|
1133 |
internal.setProgressMonitor(createMonitor(job)); |
| 1134 |
//change from ABOUT_TO_RUN to RUNNING |
| 1135 |
internal.internalSetState(Job.RUNNING); |
| 1136 |
break; |
| 1137 |
} |
| 1132 |
} |
1138 |
} |
| 1133 |
} |
1139 |
} |
| 1134 |
} |
1140 |
} |