--- libev/ev.c 2007/11/03 11:44:44 1.47 +++ libev/ev.c 2007/11/03 12:19:31 1.48 @@ -415,8 +415,10 @@ if (!gotsig) { + int old_errno = errno; gotsig = 1; write (sigpipe [1], &signum, 1); + errno = old_errno; } }