db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-5444) SpawnedProcess.complete may fail to destroy the process when a timeout is specified
Date Thu, 06 Oct 2011 09:24:29 GMT

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

Kristian Waagan updated DERBY-5444:
-----------------------------------

    Attachment: derby-5444-1c-destroy_on_timeout.diff

Attaching patch 1c, which only fixes the loop logic.

I went a bit back and forth on the handling of InterruptedException, and decided to change
nothing. SpawnedProcess is mostly used in setUp and tearDown methods anyway, and they are
usually defined to throw Exception.

As far as I understand, only Object.wait is subject to spurious wakeups, so in the other cases
another thread must have explicitly interrupted the sleeping/working thread.

Committed 1c to trunk with revision 1179546.
                
> SpawnedProcess.complete may fail to destroy the process when a timeout is specified
> -----------------------------------------------------------------------------------
>
>                 Key: DERBY-5444
>                 URL: https://issues.apache.org/jira/browse/DERBY-5444
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.9.0.0
>            Reporter: Kristian Waagan
>            Assignee: Kristian Waagan
>         Attachments: derby-5444-1a-destroy_on_timeout.diff, derby-5444-1b-destroy_on_timeout.diff,
derby-5444-1c-destroy_on_timeout.diff
>
>
> The logic in SpawnedProcess has a weakness that may result in the wrapped process not
being destroyed if the destroy variable is false and a timeout is specified.
> The problem is that the while condition will shortcut the if condition in the catch clause
(where destroy is set to true if the timeout is exceeded).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message