Bug 1213 - RecursiveThreadGroupLockImpl01Unfairish.unlock() always interrupts original-owner, even if not waiting at unlock()
Summary: RecursiveThreadGroupLockImpl01Unfairish.unlock() always interrupts original-o...
Status: RESOLVED FIXED
Alias: None
Product: Gluegen
Classification: JogAmp
Component: core (show other bugs)
Version: 2.3.2
Hardware: All all
: --- major
Assignee: Sven Gothel
URL:
Depends on:
Blocks: 1211
  Show dependency treegraph
 
Reported: 2015-09-05 04:34 CEST by Sven Gothel
Modified: 2015-09-27 01:24 CEST (History)
0 users

See Also:
Type: ---
SCM Refs:
db7ce1c9c271edf6dc08db9f920adc93df9b2bb0
Workaround: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.