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>
Johannes Sixt committed
May 1, 2016 at 21:08 UTC
f924b52a7779038cee94151f0c1ee144652bccbe
2 files changed
+6
compat/mingw.h
+1
@@ -124,6 +124,7 @@ static inline int fcntl(int fd, int cmd, ...)
124
#define sigemptyset(x) (void)0
125
static inline int sigaddset(sigset_t *set, int signum)
126
{ return 0; }
127
+#define SIG_BLOCK 0
128
#define SIG_UNBLOCK 0
129
static inline int sigprocmask(int how, const sigset_t *set, sigset_t *oldset)
130
{ return 0; }
compat/win32/pthread.h
+5
@@ -101,4 +101,9 @@ static inline void *pthread_getspecific(pthread_key_t key)
101
return TlsGetValue(key);
102
}
103
104
+static inline int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset)
105
+{
106
+ return 0;
107
+}
108
+
109
#endif /* PTHREAD_H */