gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r22889 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r22889 - gnunet/src/util
Date: Wed, 25 Jul 2012 10:40:33 +0200

Author: grothoff
Date: 2012-07-25 10:40:33 +0200 (Wed, 25 Jul 2012)
New Revision: 22889

Modified:
   gnunet/src/util/disk.c
Log:
-preserve errno

Modified: gnunet/src/util/disk.c
===================================================================
--- gnunet/src/util/disk.c      2012-07-25 08:38:12 UTC (rev 22888)
+++ gnunet/src/util/disk.c      2012-07-25 08:40:33 UTC (rev 22889)
@@ -843,7 +843,8 @@
  */
 ssize_t
 GNUNET_DISK_file_read_non_blocking (const struct GNUNET_DISK_FileHandle * h,
-    void *result, size_t len)
+                                   void *result, 
+                                   size_t len)
 {
   if (h == NULL)
   {
@@ -891,10 +892,14 @@
   /* set to non-blocking, read, then set back */
   flags = fcntl (h->fd, F_GETFL);
   if (0 == (flags & O_NONBLOCK))
-    fcntl (h->fd, F_SETFL, flags | O_NONBLOCK);
+    (void) fcntl (h->fd, F_SETFL, flags | O_NONBLOCK);
   ret = read (h->fd, result, len);
   if (0 == (flags & O_NONBLOCK))
-    fcntl (h->fd, F_SETFL, flags);
+    {
+      int eno = errno;
+      (void) fcntl (h->fd, F_SETFL, flags);
+      errno = eno;
+    }
   return ret;
 #endif
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]