#include <libmemcached/common.h>
-#include <cassert>
enum memc_read_or_write {
MEM_READ,
int err;
socklen_t len= sizeof (err);
(void)getsockopt(ptr->fd, SOL_SOCKET, SO_ERROR, &err, &len);
- ptr->cached_errno= (err == 0) ? get_socket_errno() : err;
+ memcached_set_errno(*ptr, (err == 0) ? get_socket_errno() : err, MEMCACHED_AT);
}
else
{
- ptr->cached_errno= get_socket_errno();
+ memcached_set_errno(*ptr, get_socket_errno(), MEMCACHED_AT);
}
memcached_quit_server(ptr, true);
}
}
- ptr->cached_errno= get_socket_errno();
memcached_quit_server(ptr, true);
- return memcached_set_error(*ptr, MEMCACHED_FAILURE, MEMCACHED_AT);
+ return memcached_set_errno(*ptr, get_socket_errno(), MEMCACHED_AT);
}
memcached_return_t memcached_io_wait_for_write(memcached_server_write_instance_st ptr)
memcached_return_t memcached_io_read(memcached_server_write_instance_st ptr,
void *buffer, size_t length, ssize_t *nread)
{
- assert(ptr); // Programmer error
+ assert_msg(ptr, "Programmer error, memcached_io_read() recieved an invalid memcached_server_write_instance_st"); // Programmer error
char *buffer_ptr= static_cast<char *>(buffer);
if (ptr->fd == INVALID_SOCKET)
{
- assert(int(ptr->state) <= int(MEMCACHED_SERVER_STATE_ADDRINFO));
+ assert_msg(int(ptr->state) <= int(MEMCACHED_SERVER_STATE_ADDRINFO), "Programmer error, invalid socket state");
return MEMCACHED_CONNECTION_FAILURE;
}
case ENOTSOCK:
WATCHPOINT_ASSERT(0);
case EBADF:
- assert(ptr->fd != INVALID_SOCKET);
+ assert_msg(ptr->fd != INVALID_SOCKET, "Programmer error, invalid socket");
case EINVAL:
case EFAULT:
case ECONNREFUSED:
it will return EGAIN if data is not immediatly available.
*/
WATCHPOINT_STRING("We had a zero length recv()");
- assert(0);
memcached_quit_server(ptr, true);
*nread= -1;
return memcached_set_error(*ptr, MEMCACHED_UNKNOWN_READ_FAILURE, MEMCACHED_AT);
memcached_return_t memcached_io_slurp(memcached_server_write_instance_st ptr)
{
- assert(ptr); // Programmer error
+ assert_msg(ptr, "Programmer error, invalid memcached_server_write_instance_st");
if (ptr->fd == INVALID_SOCKET)
{
- assert(int(ptr->state) <= int(MEMCACHED_SERVER_STATE_ADDRINFO));
+ assert_msg(int(ptr->state) <= int(MEMCACHED_SERVER_STATE_ADDRINFO), "Invalid socket state");
return MEMCACHED_CONNECTION_FAILURE;
}
case ENOTSOCK:
WATCHPOINT_ASSERT(0);
case EBADF:
- assert(ptr->fd != INVALID_SOCKET);
+ assert_msg(ptr->fd != INVALID_SOCKET, "Invalid socket state");
case EINVAL:
case EFAULT:
case ECONNREFUSED:
if (sent_length == SOCKET_ERROR)
{
- ptr->cached_errno= get_socket_errno();
+ memcached_set_errno(*ptr, get_socket_errno(), MEMCACHED_AT);
#if 0 // @todo I should look at why we hit this bit of code hard frequently
WATCHPOINT_ERRNO(get_socket_errno());
WATCHPOINT_NUMBER(get_socket_errno());