Diffstat (limited to 'cache.c')
| -rw-r--r-- | cache.c | 12 |
1 files changed, 3 insertions, 9 deletions
@@ -215,25 +215,19 @@ static int fill_slot(struct cache_slot *slot) return errno; /* Redirect stdout to lockfile */ - if (dup2(slot->lock_fd, STDOUT_FILENO) == -1) { - close(tmp); + if (dup2(slot->lock_fd, STDOUT_FILENO) == -1) return errno; - } /* Generate cache content */ slot->fn(); /* update stat info */ - if (fstat(slot->lock_fd, &slot->cache_st)) { - close(tmp); + if (fstat(slot->lock_fd, &slot->cache_st)) return errno; - } /* Restore stdout */ - if (dup2(tmp, STDOUT_FILENO) == -1) { - close(tmp); + if (dup2(tmp, STDOUT_FILENO) == -1) return errno; - } /* Close the temporary filedescriptor */ if (close(tmp)) |