--- mylocking.c 16 Jun 2004 21:11:54 -0000 1.3
+++ mylocking.c 13 Jan 2005 08:56:24 -0000
@@ -34,7 +34,9 @@
locktype.l_whence = SEEK_SET;
locktype.l_start = 0;
locktype.l_len = 0;
- mylock = fcntl(fd, F_SETLKW, &locktype);
+ do {
+ mylock = fcntl(fd, F_SETLKW, &locktype);
+ while(mylock < 0 && errno == EINTR);
return mylock;
}
@@ -45,7 +47,9 @@
struct flock locktype;
locktype.l_type = F_UNLCK;
- myunlock = fcntl(fd, F_SETLKW, &locktype);
+ do {
+ myunlock = fcntl(fd, F_SETLKW, &locktype);
+ while(myunlock < 0 && errno == EINTR)
return myunlock;
}
locktype.l_whence = SEEK_SET;
locktype.l_start = 0;
locktype.l_len = 0;
- mylock = fcntl(fd, F_SETLKW, &locktype);
+ do {
+ mylock = fcntl(fd, F_SETLKW, &locktype);
+ while(mylock < 0 && errno == EINTR);
return mylock;
}
struct flock locktype;
locktype.l_type = F_UNLCK;
- myunlock = fcntl(fd, F_SETLKW, &locktype);
+ do {
+ myunlock = fcntl(fd, F_SETLKW, &locktype);
+ while(myunlock < 0 && errno == EINTR)
return myunlock;
}