Browse code

check for EINTR in cli_readn/cli_writen

git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@442 77e5149b-7576-45b1-b177-96237e5ba77b

Trog authored on 2004/03/26 20:22:28
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Fri Mar 26 11:32:08 GMT 2004 (trog)
2
+-----------------------------------
3
+  * libclamav: check for EINTR in cli_readn/cli_writen
4
+
1 5
 Fri Mar 26 11:21:34 GMT 2004 (njh)
2 6
 ----------------------------------
3 7
   * libclamav/mbox.c:	Use cli_writen()
... ...
@@ -379,6 +379,9 @@ int cli_readn(int fd, void *buff, unsigned int count)
379 379
                         return (count - todo);
380 380
                 }
381 381
                 if (retval < 0) {
382
+			if (errno == EINTR) {
383
+				continue;
384
+			}
382 385
                         return -1;
383 386
                 }
384 387
                 todo -= retval;
... ...
@@ -403,6 +406,9 @@ int cli_writen(int fd, void *buff, unsigned int count)
403 403
         do {
404 404
                 retval = write(fd, current, todo);
405 405
                 if (retval < 0) {
406
+			if (errno == EINTR) {
407
+				continue;
408
+			}
406 409
                         return -1;
407 410
                 }
408 411
                 todo -= retval;