You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Nikolay Kuznetsov (JIRA)" <ji...@apache.org> on 2006/11/13 20:20:39 UTC

[jira] Updated: (HARMONY-1789) [DRLVM] Race condition between Thread.interrupt and Object.wait, Thread.sleep or join

     [ http://issues.apache.org/jira/browse/HARMONY-1789?page=all ]

Nikolay Kuznetsov updated HARMONY-1789:
---------------------------------------

    Attachment: H-1789.patch

Attached patch contains fix for this problem. It includes alternative implementation of thread's sleep,park and wait methods. In all above cases threads state is serialized using common lock in case of sleep and park and monitor is used in wait case.

Also this patch contains isAlive check to the j.l.Thread.stop(Throwable) method.

> [DRLVM] Race condition between Thread.interrupt and Object.wait, Thread.sleep or join
> -------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1789
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1789
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Nikolay Kuznetsov
>         Attachments: H-1789.patch, Test.java
>
>
> According to the specification wait/join or sleep methods should check if thread was interrupted before entering wait. DRLVM hythread implmentation do checks interrupted status(see hythread condition implmentation), however thread may be interrupted just after the status was checked and before entering condition wait. Thus it's required to ensure that waiting state will be reached having interrupted status unchanged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira