* - user-visible check/wait and event-loop-related functions
*/
/*
- * This file is part of adns, which is Copyright (C) 1997, 1998 Ian Jackson
+ * This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
} else if (callb_checkfd(maxfd,exceptfds,ads->tcpsocket)) {
adns__tcp_broken(ads,"select","exceptional condition detected");
} else if (ads->tcpsend.used && callb_checkfd(maxfd,writefds,ads->tcpsocket)) {
+ adns__sigpipe_protect(ads);
r= write(ads->tcpsocket,ads->tcpsend.buf,ads->tcpsend.used);
+ adns__sigpipe_unprotect(ads);
if (r<0) {
if (errno!=EAGAIN && errno!=EWOULDBLOCK && errno!=ENOMEM && errno!=EINTR) {
adns__tcp_broken(ads,"write",strerror(errno));