src/solaris/native/sun/nio/ch/FileDispatcherImpl.c

Print this page

        

@@ -189,11 +189,11 @@
     } else {
         cmd = F_SETLK64;
     }
     lockResult = fcntl(fd, cmd, &fl);
     if (lockResult < 0) {
-        if ((cmd == F_SETLK64) && (errno == EAGAIN))
+        if ((cmd == F_SETLK64) && (errno == EAGAIN || errno == EACCES))
             return sun_nio_ch_FileDispatcherImpl_NO_LOCK;
         if (errno == EINTR)
             return sun_nio_ch_FileDispatcherImpl_INTERRUPTED;
         JNU_ThrowIOExceptionWithLastError(env, "Lock failed");
     }