提交 9b36e2ae 编写于 作者: K Kohsuke Kawaguchi

[FIXED JENKINS-25314]

The original fix was made in 0c3d6709.
In this fix, I'm also moving the code that creates LeftItem.

It makes no sense that there's Item.cancel(Queue) and Queue.cancel(Item)
and they do different things!
上级 b4a9671c
......@@ -55,6 +55,9 @@ Upcoming changes</a>
<!-- Record your changes in the trunk here. -->
<div id="trunk" style="display:none"><!--=TRUNK-BEGIN=-->
<ul class=image>
<li class=bug>
Queue didn't always leave a trail for cancelled items properly
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-25314">issue 25314</a>)
<li class=bug>
JNA update for deprecated JNA-POSIX library.
(<a href="https://issues.jenkins-ci.org/browse/JENKINS-24527">issue 24527</a>)
......
......@@ -658,12 +658,7 @@ public class Queue extends ResourceController implements Saveable {
public synchronized boolean cancel(Item item) {
LOGGER.log(Level.FINE, "Cancelling {0} item#{1}", new Object[] {item.task, item.id});
boolean r = item.cancel(this);
LeftItem li = new LeftItem(item);
li.enter(this);
return r;
return item.cancel(this);
}
/**
......@@ -1588,10 +1583,17 @@ public class Queue extends ResourceController implements Saveable {
/**
* Cancels this item, which updates {@link #future} to notify the listener, and
* also leaves the queue.
*
* @return true
* if the item was successfully cancelled.
*/
/*package*/ boolean cancel(Queue q) {
boolean r = leave(q);
if (r) future.setAsCancelled();
if (r) {
future.setAsCancelled();
LeftItem li = new LeftItem(this);
li.enter(q);
}
return r;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册