Author: kib
Date: Thu Feb 21 05:38:11 2013
New Revision: 247076
URL: http://svnweb.freebsd.org/changeset/base/247076

Log:
  MFC r246472:
  Stop translating the ERESTART error from the open(2) into EINTR.
  Posix requires that open(2) is restartable for SA_RESTART.

Modified:
  stable/9/sys/fs/devfs/devfs_vnops.c
  stable/9/sys/kern/vfs_syscalls.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/fs/   (props changed)

Modified: stable/9/sys/fs/devfs/devfs_vnops.c
==============================================================================
--- stable/9/sys/fs/devfs/devfs_vnops.c Thu Feb 21 05:08:21 2013        
(r247075)
+++ stable/9/sys/fs/devfs/devfs_vnops.c Thu Feb 21 05:38:11 2013        
(r247076)
@@ -1089,8 +1089,11 @@ devfs_open(struct vop_open_args *ap)
 
        vn_lock(vp, vlocked | LK_RETRY);
        dev_relthread(dev, ref);
-       if (error)
+       if (error != 0) {
+               if (error == ERESTART)
+                       error = EINTR;
                return (error);
+       }
 
 #if 0  /* /dev/console */
        KASSERT(fp != NULL, ("Could not vnode bypass device on NULL fp"));

Modified: stable/9/sys/kern/vfs_syscalls.c
==============================================================================
--- stable/9/sys/kern/vfs_syscalls.c    Thu Feb 21 05:08:21 2013        
(r247075)
+++ stable/9/sys/kern/vfs_syscalls.c    Thu Feb 21 05:38:11 2013        
(r247076)
@@ -1167,8 +1167,6 @@ kern_openat(struct thread *td, int fd, c
                        fdclose(fdp, fp, indx, td);
                fdrop(fp, td);
 
-               if (error == ERESTART)
-                       error = EINTR;
                return (error);
        }
        td->td_dupfd = 0;
_______________________________________________
svn-src-stable-9@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "svn-src-stable-9-unsubscr...@freebsd.org"

Reply via email to