summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Sixt <j6t@kdbg.org>2016-05-01 21:08:21 +0200
committerJunio C Hamano <gitster@pobox.com>2016-05-02 11:22:24 -0700
commitf924b52a7779038cee94151f0c1ee144652bccbe (patch)
tree6498f8cd74cb9ddbf0c30be6d0f6fb99113cc327
parentc4b27511ab0e3ec464e3fd3d4711251a17b1f733 (diff)
downloadgit-f924b52a7779038cee94151f0c1ee144652bccbe.tar.gz
Windows: add pthread_sigmask() that does nothing
A previous change introduced a call to pthread_sigmask() in order to block SIGPIPE in a thread. Since there are no signal facilities on Windows that are similar to POSIX signals, just ignore the request to block the signal. In the particular case, the effect of blocking SIGPIPE on POSIX is that write() calls return EPIPE when the reader closes the pipe. This is how write() behaves on Windows. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--compat/mingw.h1
-rw-r--r--compat/win32/pthread.h5
2 files changed, 6 insertions, 0 deletions
diff --git a/compat/mingw.h b/compat/mingw.h
index a5fb52f977..c26b6e2958 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -124,6 +124,7 @@ static inline int fcntl(int fd, int cmd, ...)
#define sigemptyset(x) (void)0
static inline int sigaddset(sigset_t *set, int signum)
{ return 0; }
+#define SIG_BLOCK 0
#define SIG_UNBLOCK 0
static inline int sigprocmask(int how, const sigset_t *set, sigset_t *oldset)
{ return 0; }
diff --git a/compat/win32/pthread.h b/compat/win32/pthread.h
index 8ad187344f..e74157cd4d 100644
--- a/compat/win32/pthread.h
+++ b/compat/win32/pthread.h
@@ -101,4 +101,9 @@ static inline void *pthread_getspecific(pthread_key_t key)
return TlsGetValue(key);
}
+static inline int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset)
+{
+ return 0;
+}
+
#endif /* PTHREAD_H */