summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Johannes Sixt <j6t@kdbg.org>2014-09-22 20:24:34 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-09-22 13:41:52 -0700
commit4e6d207c45e6f5c13b38c4a200f0d3339f88ad34 (patch)
treeb181deb0b1e7fc50fc90d785e2491cf387761844
parentunblock and unignore SIGPIPE (diff)
downloadtgif-4e6d207c45e6f5c13b38c4a200f0d3339f88ad34.tar.xz
mingw.h: add dummy functions for sigset_t operations
Windows does not have POSIX-like signals, and so we ignore all operations on the non-existent signal mask machinery. Do not turn sigemptyset into a function, but leave it a macro that erases the code in the argument because it is used to set sa_mask of a struct sigaction, but our dummy in mingw.h does not have that member. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--compat/mingw.h7
-rwxr-xr-xt/t0005-signals.sh4
2 files changed, 8 insertions, 3 deletions
diff --git a/compat/mingw.h b/compat/mingw.h
index df0e3203ab..5e499cfb71 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -69,7 +69,6 @@ struct sigaction {
sig_handler_t sa_handler;
unsigned sa_flags;
};
-#define sigemptyset(x) (void)0
#define SA_RESTART 0
struct itimerval {
@@ -116,6 +115,12 @@ static inline int fcntl(int fd, int cmd, ...)
}
/* bash cannot reliably detect negative return codes as failure */
#define exit(code) exit((code) & 0xff)
+#define sigemptyset(x) (void)0
+static inline int sigaddset(sigset_t *set, int signum)
+{ return 0; }
+#define SIG_UNBLOCK 0
+static inline int sigprocmask(int how, const sigset_t *set, sigset_t *oldset)
+{ return 0; }
/*
* simple adaptors
diff --git a/t/t0005-signals.sh b/t/t0005-signals.sh
index 638a355906..aeea50c633 100755
--- a/t/t0005-signals.sh
+++ b/t/t0005-signals.sh
@@ -39,12 +39,12 @@ test_expect_success 'create blob' '
git add file
'
-test_expect_success 'a constipated git dies with SIGPIPE' '
+test_expect_success !MINGW 'a constipated git dies with SIGPIPE' '
OUT=$( ((large_git; echo $? 1>&3) | :) 3>&1 )
test "$OUT" -eq 141
'
-test_expect_success 'a constipated git dies with SIGPIPE even if parent ignores it' '
+test_expect_success !MINGW 'a constipated git dies with SIGPIPE even if parent ignores it' '
OUT=$( ((trap "" PIPE; large_git; echo $? 1>&3) | :) 3>&1 )
test "$OUT" -eq 141
'