venus: Remove dedebug
[openafs.git] / src / kopenafs / kopenafs.c
index 746a4b5..143c3bb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright 2000, International Business Machines Corporation and others.
  * All Rights Reserved.
- * 
+ *
  * This software has been released under the terms of the IBM Public
  * License.  For details, see the LICENSE file in the top-level source
  * directory or online at http://www.openafs.org/dl/license10.html
  * Glue code for the kopenafs API.  Mostly just wrappers around the functions
  * included in the libsys code.
  */
+#include <afsconfig.h>
+#include <afs/param.h>
+
+#include <roken.h>
 
-#include <errno.h>
-#include <netinet/in.h>
-#include <signal.h>
-#include <stdlib.h>
 #ifdef AFS_AIX51_ENV
 # include <sys/cred.h>
 # ifdef HAVE_SYS_PAG_H
 #  include <sys/pag.h>
 # endif
 #endif
-#include <sys/param.h>
-#include <sys/types.h>
-#include <unistd.h>
 
-#include <afsconfig.h>
 #include <afs/afssyscalls.h>
-#include <afs/param.h>
 #include <kopenafs.h>
 
 static volatile sig_atomic_t syscall_okay = 1;
 
 /* Signal handler to catch failed system calls and change the okay flag. */
 #ifdef SIGSYS
-static RETSIGTYPE
+static void
 sigsys_handler(int s)
 {
     syscall_okay = 0;
@@ -48,7 +43,7 @@ k_hasafs(void)
 {
     struct ViceIoctl iob;
     int okay, saved_errno;
-    RETSIGTYPE (*saved_func)(int);
+    void (*saved_func)(int);
 
     saved_errno = errno;
 
@@ -76,7 +71,13 @@ k_hasafs(void)
 int
 k_setpag(void)
 {
-    return lsetpag();
+    int code;
+
+    do {
+       code = lsetpag();
+    } while (code && errno == EINTR);
+
+    return code;
 }
 
 int
@@ -132,7 +133,7 @@ os_haspag(void)
     gid_t *groups;
     afs_uint32 g0, g1;
     afs_uint32 h, l, pag;
-# ifdef AFS_LINUX26_ENV
+# ifdef AFS_PAG_ONEGROUP_ENV
     int i;
 # endif
 
@@ -142,8 +143,8 @@ os_haspag(void)
         return 0;
     ngroups = getgroups(ngroups, groups);
 
-    /* Check for AFS_LINUX26_ONEGROUP_ENV PAGs. */
-# ifdef AFS_LINUX26_ENV
+    /* Check for one-group PAGs. */
+# ifdef AFS_PAG_ONEGROUP_ENV
     for (i = 0; i < ngroups; i++)
         if (((groups[i] >> 24) & 0xff) == 'A') {
             free(groups);