add some safety checks so people can see wtf went wrong when sends fail

SVN revision: 54125
This commit is contained in:
Mike Blumenkrantz 2010-11-03 16:11:12 +00:00
parent 7e9c729ce2
commit 33c81c1983
1 changed files with 15 additions and 27 deletions

View File

@ -687,14 +687,11 @@ ecore_con_server_send(Ecore_Con_Server *svr,
return 0; return 0;
} }
if (svr->dead) EINA_SAFETY_ON_TRUE_RETURN_VAL(svr->dead, 0);
return 0;
if (!data) EINA_SAFETY_ON_NULL_RETURN_VAL(data, 0);
return 0;
if (size < 1) EINA_SAFETY_ON_TRUE_RETURN_VAL(size < 1, 0);
return 0;
if (svr->fd_handler) if (svr->fd_handler)
ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE); ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE);
@ -704,19 +701,16 @@ ecore_con_server_send(Ecore_Con_Server *svr,
unsigned char *newbuf; unsigned char *newbuf;
newbuf = realloc(svr->write_buf, svr->write_buf_size + size); newbuf = realloc(svr->write_buf, svr->write_buf_size + size);
if (newbuf) EINA_SAFETY_ON_NULL_RETURN_VAL(newbuf, 0);
svr->write_buf = newbuf;
else
return 0;
svr->write_buf = newbuf;
memcpy(svr->write_buf + svr->write_buf_size, data, size); memcpy(svr->write_buf + svr->write_buf_size, data, size);
svr->write_buf_size += size; svr->write_buf_size += size;
} }
else else
{ {
svr->write_buf = malloc(size); svr->write_buf = malloc(size);
if (!svr->write_buf) EINA_SAFETY_ON_NULL_RETURN_VAL(svr->write_buf, 0);
return 0;
svr->write_buf_size = size; svr->write_buf_size = size;
memcpy(svr->write_buf, data, size); memcpy(svr->write_buf, data, size);
@ -855,18 +849,14 @@ ecore_con_client_send(Ecore_Con_Client *cl,
return 0; return 0;
} }
if (cl->dead) EINA_SAFETY_ON_TRUE_RETURN_VAL(cl->dead, 0);
return 0;
if (!data) EINA_SAFETY_ON_NULL_RETURN_VAL(data, 0);
return 0;
if (size < 1) EINA_SAFETY_ON_TRUE_RETURN_VAL(size < 1, 0);
return 0;
if (cl->fd_handler) if (cl->fd_handler)
ecore_main_fd_handler_active_set( ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE);
cl->fd_handler, ECORE_FD_READ | ECORE_FD_WRITE);
if(cl->host_server && ((cl->host_server->type & ECORE_CON_TYPE) == ECORE_CON_REMOTE_UDP)) if(cl->host_server && ((cl->host_server->type & ECORE_CON_TYPE) == ECORE_CON_REMOTE_UDP))
sendto(cl->host_server->fd, data, size, 0, (struct sockaddr *)cl->client_addr, sendto(cl->host_server->fd, data, size, 0, (struct sockaddr *)cl->client_addr,
@ -876,10 +866,9 @@ ecore_con_client_send(Ecore_Con_Client *cl,
unsigned char *newbuf; unsigned char *newbuf;
newbuf = realloc(cl->buf, cl->buf_size + size); newbuf = realloc(cl->buf, cl->buf_size + size);
if (newbuf) EINA_SAFETY_ON_NULL_RETURN_VAL(newbuf, 0);
cl->buf = newbuf;
else cl->buf = newbuf;
return 0;
memcpy(cl->buf + cl->buf_size, data, size); memcpy(cl->buf + cl->buf_size, data, size);
cl->buf_size += size; cl->buf_size += size;
@ -887,8 +876,7 @@ ecore_con_client_send(Ecore_Con_Client *cl,
else else
{ {
cl->buf = malloc(size); cl->buf = malloc(size);
if (!cl->buf) EINA_SAFETY_ON_NULL_RETURN_VAL(cl->buf, 0);
return 0;
cl->buf_size = size; cl->buf_size = size;
memcpy(cl->buf, data, size); memcpy(cl->buf, data, size);
@ -1810,7 +1798,7 @@ _ecore_con_cl_handler(void *data, Ecore_Fd_Handler *fd_handler)
if (svr->handshaking && (want_read || want_write)) if (svr->handshaking && (want_read || want_write))
{ {
DBG("Continuing ssl handshake: preparing to %s...", want_read ? "read" : "write"); DBG("Continuing ssl handshake: preparing to %s...", want_read ? "read" : "write");
#ifdef PRINT_LOTS_OF_DEBUG #ifdef ISCOMFITOR
if (want_read) if (want_read)
{ {
char buf[32768]; char buf[32768];