1. 07 7月, 2015 1 次提交
    • S
      [FIXED JENKINS-28690] Deadlock in hudson.model.Executor · c24c3236
      Stephen Connolly 提交于
      - Rather fun one here. The Lock code relies on assuming that Thread.interrupted() is clear on entry
      - If it then sees Thread.interrupted() set, it will interrupt the current thread in order to set the
        flag again.
      - Executor is a thread that does funky things with an overridden interrupt method
      - Executor.abortResult() is used to track a build be interrupted or aborted in some other way
      - As a result the abortResult can cause a deadlockif there is a genuine interruption
      - This fix clears the interrupt flag in abortResult() and uses the write lock in order to ensure:
          - The same lock as used in interrupt() is helf
          - The interrupt flag is clear
      - Clearing the interrupt flag should be safe as the only time it is called is immediately after
        an interruption and the resulting exception is caught and rethrown/logged anyway
      
      (cherry picked from commit ddb0a472)
      c24c3236
  2. 17 6月, 2015 3 次提交
  3. 09 6月, 2015 19 次提交
  4. 30 5月, 2015 2 次提交
  5. 14 5月, 2015 15 次提交