diff --git a/src/common/multiio.c b/src/common/multiio.c --- a/src/common/multiio.c +++ b/src/common/multiio.c @@ -157,11 +157,11 @@ struct multiio_poll_travinfo /** list traverser for multiio_poll() */ -int mulitiio_poll_invoke_handlers(struct multiio_poll_travinfo *travinfo, struct multiio_socket_type_handler_info *handler_info) +int multiio_poll_invoke_handlers(struct multiio_poll_travinfo *travinfo, struct multiio_socket_type_handler_info *handler_info) { short event; - event = travinfo->pollfd->events & handler_info->event; + event = travinfo->pollfd->revents & handler_info->event; if(!event) return TRUE; @@ -189,7 +189,7 @@ int multiio_poll(multiio_context_t conte travinfo.pollfd = &context->pollfds[counter]; list_traverse(context->socket_types[context->socket_infos[counter].socket_type].type_handlers, &travinfo, - (list_traverse_func_t)&mulitiio_poll_invoke_handlers, + (list_traverse_func_t)&multiio_poll_invoke_handlers, LIST_FRNT | LIST_SAVE); } diff --git a/src/common/remoteio.c b/src/common/remoteio.c --- a/src/common/remoteio.c +++ b/src/common/remoteio.c @@ -648,6 +648,7 @@ int _remoteio_sock_read(struct remoteio { ssize_t readrtn; + *bytesread = 0; readrtn = read(rem->sock, buf, len); /* The following is valid for blocking sockets: @@ -661,7 +662,6 @@ int _remoteio_sock_read(struct remoteio Some of these are not error conditions: */ perror("read"); - *bytesread = 0; if(errno != EINTR) {