Change io lock and unlock to server error on failure

This commit is contained in:
Alex Young
2012-06-06 13:29:13 +01:00
parent 9dbc0a31a8
commit 1b289a0e87
3 changed files with 31 additions and 30 deletions

View File

@@ -294,34 +294,6 @@ void client_reply( struct client* client, struct nbd_request request )
}
int client_lock_io( struct client * client )
{
CLIENT_ERROR_ON_FAILURE(
pthread_mutex_lock(&client->serve->l_io),
"Problem with I/O lock"
);
if (server_detect_closed(client->serve)) {
CLIENT_ERROR_ON_FAILURE(
pthread_mutex_unlock(&client->serve->l_io),
"Problem with I/O unlock"
);
return 0;
}
return 1;
}
void client_unlock_io( struct client * client )
{
CLIENT_ERROR_ON_FAILURE(
pthread_mutex_unlock(&client->serve->l_io),
"Problem with I/O unlock"
);
}
int client_serve_request(struct client* client)
{
struct nbd_request request;
@@ -332,9 +304,9 @@ int client_serve_request(struct client* client)
return request_err;
}
if ( client_lock_io( client ) ){
if ( server_lock_io( client->serve ) ){
client_reply( client, request );
client_unlock_io( client );
server_unlock_io( client->serve );
} else {
return 1;
}