projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Fixed return length issues.
[m6w6/libmemcached]
/
lib
/
memcached_flush.c
diff --git
a/lib/memcached_flush.c
b/lib/memcached_flush.c
index 07fc3ac0b63ce712e740ace8ffc819e887431e26..8538aaa0cc753f7e6c963d542d140b1f8cb32a2a 100644
(file)
--- a/
lib/memcached_flush.c
+++ b/
lib/memcached_flush.c
@@
-1,4
+1,4
@@
-#include
<memcached.h>
+#include
"common.h"
memcached_return memcached_flush(memcached_st *ptr, time_t expiration)
{
memcached_return memcached_flush(memcached_st *ptr, time_t expiration)
{
@@
-6,12
+6,14
@@
memcached_return memcached_flush(memcached_st *ptr, time_t expiration)
size_t send_length, sent_length;
memcached_return rc;
char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
size_t send_length, sent_length;
memcached_return rc;
char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
+ LIBMEMCACHED_MEMCACHED_FLUSH_START();
- rc= memcached_connect(ptr);
+ rc= memcached_connect(ptr
, 0
);
if (rc != MEMCACHED_SUCCESS)
rc= MEMCACHED_SOME_ERRORS;
if (rc != MEMCACHED_SUCCESS)
rc= MEMCACHED_SOME_ERRORS;
+ memset(buffer, 0, MEMCACHED_DEFAULT_COMMAND_SIZE);
for (x= 0; x < ptr->number_of_hosts; x++)
{
if (expiration)
for (x= 0; x < ptr->number_of_hosts; x++)
{
if (expiration)
@@
-24,20
+26,10
@@
memcached_return memcached_flush(memcached_st *ptr, time_t expiration)
if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE)
return MEMCACHED_WRITE_FAILURE;
if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE)
return MEMCACHED_WRITE_FAILURE;
- sent_length=
write(ptr->hosts[x].fd, buffer, send_length
);
+ sent_length=
memcached_io_write(ptr, x, buffer, send_length, 1
);
- if (sent_length == -1)
- {
- fprintf(stderr, "error %s: write: %m\n", __FUNCTION__);
+ if (sent_length == -1 || sent_length != send_length)
return MEMCACHED_WRITE_FAILURE;
return MEMCACHED_WRITE_FAILURE;
- }
-
- if (sent_length != send_length)
- {
- fprintf(stderr, "error %s: short write %d %d: %m\n",
- __FUNCTION__, sent_length, send_length);
- return MEMCACHED_WRITE_FAILURE;
- }
rc= memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, x);
rc= memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, x);
@@
-45,5
+37,6
@@
memcached_return memcached_flush(memcached_st *ptr, time_t expiration)
rc= MEMCACHED_SOME_ERRORS;
}
rc= MEMCACHED_SOME_ERRORS;
}
+ LIBMEMCACHED_MEMCACHED_FLUSH_END();
return rc;
}
return rc;
}