[ 
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

        

Reply via email to