diff --git a/builtin-fetch--tool.c b/builtin-fetch--tool.c
index 469b07e240953aa21fd67eb2563e094a7f0f3d42..3dbdf7a2887002f0d7a67a1db35bd3c72d7a9d30 100644 (file)
--- a/builtin-fetch--tool.c
+++ b/builtin-fetch--tool.c
#include "cache.h"
#include "refs.h"
#include "commit.h"
+#include "sigchain.h"
static char *get_stdin(void)
{
struct strbuf buf = STRBUF_INIT;
if (strbuf_read(&buf, 0, 1024) < 0) {
- die("error reading standard input: %s", strerror(errno));
+ die_errno("error reading standard input");
}
return strbuf_detach(&buf, NULL);
}
static void remove_keep_on_signal(int signo)
{
remove_keep();
- signal(SIGINT, SIG_DFL);
+ sigchain_pop(signo);
raise(signo);
}
char buffer[1024];
int err = 0;
- signal(SIGINT, remove_keep_on_signal);
+ sigchain_push_common(remove_keep_on_signal);
atexit(remove_keep);
while (fgets(buffer, sizeof(buffer), stdin)) {