You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by "Florian Seydoux (JIRA)" <lo...@logging.apache.org> on 2014/01/23 07:46:34 UTC

[jira] [Resolved] (LOGCXX-282) Thread::sleep not affected by Thread::interrupt

     [ https://issues.apache.org/jira/browse/LOGCXX-282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Florian Seydoux resolved LOGCXX-282.
------------------------------------

       Resolution: Fixed
    Fix Version/s: 0.10.1

code patched by C. Arnold on revision 673097.

Btw, if ABI compatibility is really crucial, a refactoring of several interface will be required (using [cheshire cat/pimpl idiom|http://www.gotw.ca/publications/mill05.htm]).

> Thread::sleep not affected by Thread::interrupt
> -----------------------------------------------
>
>                 Key: LOGCXX-282
>                 URL: https://issues.apache.org/jira/browse/LOGCXX-282
>             Project: Log4cxx
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.10.0
>            Reporter: Curt Arnold
>            Assignee: Curt Arnold
>             Fix For: 0.10.1
>
>         Attachments: logcxx-282.patch
>
>
> Spun off from LOGCXX-278.  Thread::sleep() will call apr_sleep() which will unconditionally sleep for the specified time.  The equivalent Java method will awake early and throw an InterruptedException if Thread::interrupt() is called.  The current behavior means that shutdown has to wait until all sleeping threads complete their naps.
> Modifying Thread::sleep() to more closely mimic the Java equivalent will require viewing the current uses of Thread::sleep to make sure that the proper catch clauses are present.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)