Merged trunk.
[m6w6/libmemcached] / libmemcached / io.c
index 9f38af5c213d51d6cc4b57e781b537ded58000dd..dedcdaf9e9deff939b1d599255263dae8baa4d30 100644 (file)
@@ -105,6 +105,11 @@ static memcached_return_t io_wait(memcached_server_write_instance_st ptr,
   return MEMCACHED_FAILURE;
 }
 
+memcached_return_t memcached_io_wait_for_write(memcached_server_write_instance_st ptr)
+{
+  return io_wait(ptr, MEM_WRITE);
+}
+
 /**
  * Try to fill the input buffer for a server with as much
  * data as possible.
@@ -614,7 +619,7 @@ static ssize_t io_flush(memcached_server_write_instance_st ptr,
       increment_udp_message_id(ptr);
 
     WATCHPOINT_ASSERT(ptr->fd != -1);
-    sent_length= send(ptr->fd, local_write_ptr, write_length, 0);
+    sent_length= send(ptr->fd, local_write_ptr, write_length, MSG_NOSIGNAL|MSG_DONTWAIT);
     if (sent_length == SOCKET_ERROR)
     {
       ptr->cached_errno= get_socket_errno();