Skip to content

Commit

Permalink
mingw.h: add dummy functions for sigset_t operations
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
j6t authored and gitster committed Sep 22, 2014
1 parent 7559a1b commit 4e6d207
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
7 changes: 6 additions & 1 deletion compat/mingw.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions t/t0005-signals.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
'
Expand Down

0 comments on commit 4e6d207

Please sign in to comment.