summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
6102bcf)
We'll need proper return-values from these functions to make the cache
behave correctly (which includes giving proper error messages).
Noticed-by: Jim Meyering <jim@meyering.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
}
/* Close the active cache slot */
}
/* Close the active cache slot */
-static void close_slot(struct cache_slot *slot)
+static int close_slot(struct cache_slot *slot)
if (slot->cache_fd > 0) {
if (slot->cache_fd > 0) {
- close(slot->cache_fd);
- slot->cache_fd = -1;
+ if (close(slot->cache_fd))
+ err = errno;
+ else
+ slot->cache_fd = -1;
}
/* Print the content of the active cache slot (but skip the key). */
}
/* Print the content of the active cache slot (but skip the key). */
}
/* Close an open lockfile */
}
/* Close an open lockfile */
-static void close_lock(struct cache_slot *slot)
+static int close_lock(struct cache_slot *slot)
- close(slot->lock_fd);
- slot->lock_fd = -1;
+ if (close(slot->lock_fd))
+ err = errno;
+ else
+ slot->lock_fd = -1;
}
/* Create a lockfile used to store the generated content for a cache
}
/* Create a lockfile used to store the generated content for a cache
S_IRUSR|S_IWUSR);
if (slot->lock_fd == -1)
return errno;
S_IRUSR|S_IWUSR);
if (slot->lock_fd == -1)
return errno;
- write(slot->lock_fd, slot->key, slot->keylen + 1);
+ if (write(slot->lock_fd, slot->key, slot->keylen + 1) < 0)
+ return errno;
err = rename(slot->lock_name, slot->cache_name);
else
err = unlink(slot->lock_name);
err = rename(slot->lock_name, slot->cache_name);
else
err = unlink(slot->lock_name);
+
+ if (err)
+ return errno;
+
+ return 0;
}
/* Generate the content for the current cache slot by redirecting
}
/* Generate the content for the current cache slot by redirecting
return errno;
/* Close the temporary filedescriptor */
return errno;
/* Close the temporary filedescriptor */
+ if (close(tmp))
+ return errno;
+