projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Bad data for threads (Toru patch)
[m6w6/libmemcached]
/
libmemcached
/
memcached_io.c
diff --git
a/libmemcached/memcached_io.c
b/libmemcached/memcached_io.c
index 38544102bcc54765101b25e2beb68e4390db639d..93ca41732d4ca26741c2c905e10e9ea001795e15 100644
(file)
--- a/
libmemcached/memcached_io.c
+++ b/
libmemcached/memcached_io.c
@@
-204,9
+204,14
@@
ssize_t memcached_io_write(memcached_server_st *ptr,
return original_length;
}
return original_length;
}
-memcached_return memcached_io_close(memcached_server_st *ptr)
+memcached_return memcached_io_close(memcached_server_st *ptr
, uint8_t io_death
)
{
{
- close(ptr->fd);
+ /* in case of death shutdown to avoid blocking at close() */
+
+ if (io_death)
+ shutdown(ptr->fd, SHUT_RDWR);
+ else
+ close(ptr->fd);
return MEMCACHED_SUCCESS;
}
return MEMCACHED_SUCCESS;
}