socket: also reconnect on write errors

This also return -1 for rpc_service if rpc_reconnect_requeue fails.

Signed-off-by: Peter Lieven <pl@kamp.de>
libnfs-4.0.0-vitalif
Peter Lieven 2015-08-06 09:53:49 +02:00
parent b319b976dc
commit aacee393ca
1 changed files with 2 additions and 4 deletions

View File

@ -345,15 +345,13 @@ int rpc_service(struct rpc_context *rpc, int revents)
if (revents & POLLIN) {
if (rpc_read_from_socket(rpc) != 0) {
rpc_reconnect_requeue(rpc);
return 0;
return rpc_reconnect_requeue(rpc);
}
}
if (revents & POLLOUT && rpc_has_queue(&rpc->outqueue)) {
if (rpc_write_to_socket(rpc) != 0) {
rpc_set_error(rpc, "write to socket failed");
return -1;
return rpc_reconnect_requeue(rpc);
}
}