remove outdated license header
[libjh.git] / io.c
diff --git a/io.c b/io.c
index 3c0a8eb..dd0d531 100644 (file)
--- a/io.c
+++ b/io.c
@@ -1,5 +1,4 @@
 // Copyright (2013) Jann Horn <jann@thejh.net>
 // Copyright (2013) Jann Horn <jann@thejh.net>
-// This code is licensed under the AGPLv3.
 
 HEADER #include <sys/types.h>
 #include <unistd.h>
 
 HEADER #include <sys/types.h>
 #include <unistd.h>
@@ -24,6 +23,7 @@ PUBLIC_FN ssize_t read_nointr(int fd, void *buf, size_t count, int *last_res) {
   size_t done = 0;
   while (done < count) {
     ssize_t part_res = read(fd, buf+done, count-done);
   size_t done = 0;
   while (done < count) {
     ssize_t part_res = read(fd, buf+done, count-done);
+    if (part_res == -1 && errno == EINTR) continue;
     if (part_res <= 0) {
       if (last_res) *last_res = part_res;
       if (done) return done;
     if (part_res <= 0) {
       if (last_res) *last_res = part_res;
       if (done) return done;
@@ -47,6 +47,7 @@ PUBLIC_FN ssize_t write_nointr(int fd, void *buf, size_t count, int *last_res) {
   size_t done = 0;
   while (done < count) {
     ssize_t part_res = write(fd, buf+done, count-done);
   size_t done = 0;
   while (done < count) {
     ssize_t part_res = write(fd, buf+done, count-done);
+    if (part_res == -1 && errno == EINTR) continue;
     if (part_res <= 0) {
       if (last_res) *last_res = part_res;
       if (done) return done;
     if (part_res <= 0) {
       if (last_res) *last_res = part_res;
       if (done) return done;