]> eyrie.org Git - kerberos/sident.git/commitdiff
Add s_read, used by some of the kernel modules.
authorRuss Allbery <rra@stanford.edu>
Fri, 18 Jun 2004 08:23:34 +0000 (08:23 +0000)
committerRuss Allbery <rra@stanford.edu>
Fri, 18 Jun 2004 08:23:34 +0000 (08:23 +0000)
responder/kernel_helper.c
responder/pidentd.h

index 51b7838297dfdbbd9d840ae8ad9256197c06793b..6b7c339728395e2b3121fe0075e05cb0fd247490 100644 (file)
@@ -199,3 +199,18 @@ s_snprintf(char *buf, size_t bufsize, const char *format, ...)
     va_end(ap);
     return retcode;
 }
+
+
+/*
+**  read replacement that ignores EINTR.
+*/
+ssize_t
+s_read(int fd, char *buf, size_t len)
+{
+    ssize_t code;
+
+    do {
+        code = read(fd, buf, len);
+    } while (code < 0 && errno == EINTR);
+    return code;
+}
index 770239144f37e74c910e80358aade64ab8437ab5..d663be0e9a28ae3a0eee11127f7286051ef04f4d 100644 (file)
@@ -40,6 +40,7 @@ void s_free(void *);
 char *s_strdup(const char *);
 int s_open(const char *, int, ...);
 int s_snprintf(char *, size_t, const char *, ...);
+ssize_t s_read(int, char *, size_t);
 
 /* Used as the interface to the kernel routines.  This matches the kernel
    struct in pidentd 3.x except that we omit the av parameter, since none of