Bug 1213

Summary: RecursiveThreadGroupLockImpl01Unfairish.unlock() always interrupts original-owner, even if not waiting at unlock()
Product: [JogAmp] Gluegen Reporter: Sven Gothel <sgothel>
Component: coreAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: major    
Priority: ---    
Version: 2.3.2   
Hardware: All   
OS: all   
Type: --- SCM Refs:
db7ce1c9c271edf6dc08db9f920adc93df9b2bb0
Workaround: ---
Bug Depends on:    
Bug Blocks: 1211    

Description Sven Gothel 2015-09-05 04:34:56 CEST
An interrupt() is always issued 
at RecursiveThreadGroupLockImpl01Unfairish.unlock()
for group members on the original owner.

This shall only happen, if the original owner is waiting 
within unlock() for all group members to be unlocked.

This extra interrupt causes side-effects, see Bug 1211.

Only issue the interrupt to wake-up the original owner
iff waiting within unlock!
Comment 1 Sven Gothel 2015-09-05 04:43:46 CEST
db7ce1c9c271edf6dc08db9f920adc93df9b2bb0:
  Fixed as described
Comment 2 Sven Gothel 2015-09-05 04:44:22 CEST
(In reply to comment #0)
> An interrupt() is always issued 
> at RecursiveThreadGroupLockImpl01Unfairish.unlock()
> for group members on the original owner.

An interrupt() is always issued 
from group members on the original owner.