projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Merge lp:~tangent-org/libmemcached/1.0-build/ Build: jenkins-Libmemcached-187
[m6w6/libmemcached]
/
libmemcached
/
io.cc
diff --git
a/libmemcached/io.cc
b/libmemcached/io.cc
index 866830aa5528d016004e4539a0b010b8f0c5a279..6d9cad9a51f3e815e56e959ee3814b609bcd4681 100644
(file)
--- a/
libmemcached/io.cc
+++ b/
libmemcached/io.cc
@@
-39,6
+39,10
@@
#include <libmemcached/common.h>
#include <libmemcached/common.h>
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
+
void initialize_binary_request(org::libmemcached::Instance* server, protocol_binary_request_header& header)
{
server->request_id++;
void initialize_binary_request(org::libmemcached::Instance* server, protocol_binary_request_header& header)
{
server->request_id++;
@@
-75,10
+79,10
@@
static bool repack_input_buffer(org::libmemcached::Instance* ptr)
do {
/* Just try a single read to grab what's available */
ssize_t nr;
do {
/* Just try a single read to grab what's available */
ssize_t nr;
- if ((nr= recv(ptr->fd,
+ if ((nr=
::
recv(ptr->fd,
ptr->read_ptr + ptr->read_data_length,
MEMCACHED_MAX_BUFFER - ptr->read_data_length,
ptr->read_ptr + ptr->read_data_length,
MEMCACHED_MAX_BUFFER - ptr->read_data_length,
- MSG_
DONTWAIT
)) <= 0)
+ MSG_
NOSIGNAL
)) <= 0)
{
if (nr == 0)
{
{
if (nr == 0)
{
@@
-236,7
+240,7
@@
static memcached_return_t io_wait(org::libmemcached::Instance* ptr,
int local_errno= EINVAL;
int err;
socklen_t len= sizeof (err);
int local_errno= EINVAL;
int err;
socklen_t len= sizeof (err);
- if (getsockopt(ptr->fd, SOL_SOCKET, SO_ERROR, &err, &len) == 0)
+ if (getsockopt(ptr->fd, SOL_SOCKET, SO_ERROR,
(char*)
&err, &len) == 0)
{
if (err == 0) // treat this as EINTR
{
{
if (err == 0) // treat this as EINTR
{
@@
-333,11
+337,11
@@
static bool io_flush(org::libmemcached::Instance* ptr,
int flags;
if (with_flush)
{
int flags;
if (with_flush)
{
- flags= MSG_NOSIGNAL
|MSG_DONTWAIT
;
+ flags= MSG_NOSIGNAL;
}
else
{
}
else
{
- flags= MSG_NOSIGNAL|MSG_
DONTWAIT|MSG_
MORE;
+ flags= MSG_NOSIGNAL|MSG_MORE;
}
ssize_t sent_length= ::send(ptr->fd, local_write_ptr, write_length, flags);
}
ssize_t sent_length= ::send(ptr->fd, local_write_ptr, write_length, flags);
@@
-415,7
+419,7
@@
static memcached_return_t _io_fill(org::libmemcached::Instance* ptr)
ssize_t data_read;
do
{
ssize_t data_read;
do
{
- data_read= ::recv(ptr->fd, ptr->read_buffer, MEMCACHED_MAX_BUFFER, MSG_
DONTWAIT
);
+ data_read= ::recv(ptr->fd, ptr->read_buffer, MEMCACHED_MAX_BUFFER, MSG_
NOSIGNAL
);
if (data_read == SOCKET_ERROR)
{
switch (get_socket_errno())
if (data_read == SOCKET_ERROR)
{
switch (get_socket_errno())
@@
-553,7
+557,7
@@
memcached_return_t memcached_io_slurp(org::libmemcached::Instance* ptr)
char buffer[MEMCACHED_MAX_BUFFER];
do
{
char buffer[MEMCACHED_MAX_BUFFER];
do
{
- data_read=
recv(ptr->fd, ptr->read_buffer, sizeof(buffer), MSG_DONTWAIT
);
+ data_read=
::recv(ptr->fd, ptr->read_buffer, sizeof(buffer), MSG_NOSIGNAL
);
if (data_read == SOCKET_ERROR)
{
switch (get_socket_errno())
if (data_read == SOCKET_ERROR)
{
switch (get_socket_errno())
@@
-708,7
+712,7
@@
void memcached_io_close(org::libmemcached::Instance* ptr)
}
/* in case of death shutdown to avoid blocking at close() */
}
/* in case of death shutdown to avoid blocking at close() */
- if (shutdown(ptr->fd, SHUT_RDWR) == SOCKET_ERROR
&&
get_socket_errno() != ENOTCONN)
+ if (shutdown(ptr->fd, SHUT_RDWR) == SOCKET_ERROR
and
get_socket_errno() != ENOTCONN)
{
WATCHPOINT_NUMBER(ptr->fd);
WATCHPOINT_ERRNO(get_socket_errno());
{
WATCHPOINT_NUMBER(ptr->fd);
WATCHPOINT_ERRNO(get_socket_errno());
@@
-723,7
+727,7
@@
void memcached_io_close(org::libmemcached::Instance* ptr)
ptr->fd= INVALID_SOCKET;
}
ptr->fd= INVALID_SOCKET;
}
-org::libmemcached::Instance* memcached_io_get_readable_server(memcached_st *memc)
+org::libmemcached::Instance* memcached_io_get_readable_server(memcached_st *memc
, memcached_return_t&
)
{
#define MAX_SERVERS_TO_POLL 100
struct pollfd fds[MAX_SERVERS_TO_POLL];
{
#define MAX_SERVERS_TO_POLL 100
struct pollfd fds[MAX_SERVERS_TO_POLL];
@@
-738,7
+742,7
@@
org::libmemcached::Instance* memcached_io_get_readable_server(memcached_st *memc
return instance;
}
return instance;
}
- if (
memcached_instance_response_count(instance
) > 0)
+ if (
instance->response_count(
) > 0)
{
fds[host_index].events= POLLIN;
fds[host_index].revents= 0;
{
fds[host_index].events= POLLIN;
fds[host_index].revents= 0;
@@
-754,7
+758,7
@@
org::libmemcached::Instance* memcached_io_get_readable_server(memcached_st *memc
{
org::libmemcached::Instance* instance= memcached_instance_fetch(memc, x);
{
org::libmemcached::Instance* instance= memcached_instance_fetch(memc, x);
- if (
memcached_instance_response_count(instance
) > 0)
+ if (
instance->response_count(
) > 0)
{
return instance;
}
{
return instance;
}