]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
SOLARIS: Correct ioctl syscall error handling
authorAndrew Deason <adeason@sinenomine.net>
Fri, 25 Mar 2011 21:37:30 +0000 (16:37 -0500)
committerDerrick Brashear <shadow@dementia.org>
Mon, 28 Mar 2011 14:30:15 +0000 (07:30 -0700)
Do not use the return code from ioctl for errno. Ioctl itself will set
the errno and return value correctly, so don't mess with them.

Reviewed-on: http://gerrit.openafs.org/4345
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 99ed22fb02a3b44c03327a1fdd5ef56e211724b6)

Change-Id: Ie7ba95f14a2c34f11b358b482bd58bdacba6bed6
Reviewed-on: http://gerrit.openafs.org/4369
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
src/sys/glue.c

index 3ba696cb381886950ce99e7e217f47160df82e73..dfcc84a6eaf370e7f36a01707164ef6c272794a1 100644 (file)
@@ -109,7 +109,7 @@ ioctl_sun_afs_syscall(long syscall, uintptr_t param1, uintptr_t param2,
 {
     void *ioctldata;
     long callnum;
-    int fd, code;
+    int fd;
 
 # ifdef _ILP32
     struct afssysargs32 sargs32;
@@ -142,16 +142,9 @@ ioctl_sun_afs_syscall(long syscall, uintptr_t param1, uintptr_t param2,
        return -1;
     }
 
-    *error = 0;
-
-    code = ioctl(fd, callnum, ioctldata);
+    *error = ioctl(fd, callnum, ioctldata);
     close(fd);
 
-    if (code) {
-       errno = code;
-       *error = code;
-    }
-
     return 0;
 }
 #endif /* AFS_SUN511_ENV */