use new wrapper write_file() for simple file writing
This fixes common problems in these code about error handling, forgetting to close the file handle after fprintf() fails, or not printing out the error string.. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
316e53e68c
commit
91aacda85a
11
daemon.c
11
daemon.c
@ -1070,15 +1070,6 @@ static struct credentials *prepare_credentials(const char *user_name,
|
||||
}
|
||||
#endif
|
||||
|
||||
static void store_pid(const char *path)
|
||||
{
|
||||
FILE *f = fopen(path, "w");
|
||||
if (!f)
|
||||
die_errno("cannot open pid file '%s'", path);
|
||||
if (fprintf(f, "%"PRIuMAX"\n", (uintmax_t) getpid()) < 0 || fclose(f) != 0)
|
||||
die_errno("failed to write pid file '%s'", path);
|
||||
}
|
||||
|
||||
static int serve(struct string_list *listen_addr, int listen_port,
|
||||
struct credentials *cred)
|
||||
{
|
||||
@ -1289,7 +1280,7 @@ int main(int argc, char **argv)
|
||||
sanitize_stdfds();
|
||||
|
||||
if (pid_file)
|
||||
store_pid(pid_file);
|
||||
write_file(pid_file, 1, "%"PRIuMAX"\n", (uintmax_t) getpid());
|
||||
|
||||
/* prepare argv for serving-processes */
|
||||
cld_argv = xmalloc(sizeof (char *) * (argc + 2));
|
||||
|
||||
Reference in New Issue
Block a user