X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fio.c;h=3b5d44f570e2003313963a6c70a1600287f382ba;hb=d46b596b82e290141fd97e3c5381efdb792756a4;hp=167b3e6b0d7f521aac98f3070e7d53877a54cee9;hpb=4a45f8f5e5bf5967694dac410cfae1ea53f64202;p=awesomized%2Flibmemcached diff --git a/libmemcached/io.c b/libmemcached/io.c index 167b3e6b..3b5d44f5 100644 --- a/libmemcached/io.c +++ b/libmemcached/io.c @@ -12,6 +12,8 @@ #include "common.h" +#include + typedef enum { MEM_READ, MEM_WRITE @@ -617,6 +619,7 @@ static ssize_t io_flush(memcached_server_write_instance_st ptr, if (ptr->type == MEMCACHED_CONNECTION_UDP) increment_udp_message_id(ptr); + assert(ptr->fd != -1); sent_length= send(ptr->fd, local_write_ptr, write_length, 0); if (sent_length == SOCKET_ERROR) { @@ -655,10 +658,13 @@ static ssize_t io_flush(memcached_server_write_instance_st ptr, return -1; } case ENOTCONN: + case EPIPE: default: + fprintf(stderr, "%s %u %u %u\n", ptr->hostname, ptr->port, ptr->io_bytes_sent, ptr->server_failure_counter); fprintf(stderr, "%s:%d (%s)(%s)\n", __FILE__, __LINE__,__func__, strerror(errno));fflush(stdout); memcached_quit_server(ptr, true); *error= MEMCACHED_ERRNO; + assert(ptr->fd == -1); return -1; } }