According to the spec, FileChannel.tryLock() should return null in the event that it cannot acquire a lock. libgcj's implementation does not currently do this and returns a FileLock object even though the lock has not been acquired. See attached test case.
-- Summary: FileChannel.tryLock() return value incorrect Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: overholt at redhat dot com CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21372