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

Maarten Coene updated IVY-1424:
-------------------------------

    Fix Version/s:     (was: trunk)
                   2.4.0-RC1

> NIO FileLocker releases locks while still within tryLock() call
> ---------------------------------------------------------------
>
>                 Key: IVY-1424
>                 URL: https://issues.apache.org/jira/browse/IVY-1424
>             Project: Ivy
>          Issue Type: Bug
>            Reporter: Charles Duffy (Indeed.com)
>            Assignee: Maarten Coene
>              Labels: patch
>             Fix For: 2.4.0-RC1
>
>         Attachments: ivy-nio-locker-as-option.diff, ivy-nio-locker-fix.diff
>
>
> The notes about NIOFileLocker being deprecated due to unreliability have an 
> obvious cause -- locks it grabs have already been released before the tryLock 
> method has even exited due to the finally block closing the file descriptor 
> on which the lock is held!
> (flock() or fcntl()-based locks, into one of which categories those created 
> by NIO fall on modern Unixlike operating systems, are implicitly closed 
> whenever the file handle on which they're held exits. This is highly 
> desirable behavior, because it means that a lock is implicitly cleared on 
> unclean shutdown of any sort -- power failure, SIGKILL to the JVM, etc; this 
> behavior is also perhaps the primary reason to prefer NIO locks to the 
> approach taken by CreateFileLocker).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to