From afcc07a181166637b2e042a172c78dad89d280f0 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 22 Jan 2014 12:16:09 +0000 Subject: [PATCH] Fix stop signal logic broken by the killswitch --- src/client.c | 2 +- tests/unit/check_client.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/client.c b/src/client.c index 128def3..31592f4 100644 --- a/src/client.c +++ b/src/client.c @@ -567,7 +567,7 @@ int client_serve_request(struct client* client) if ( self_pipe_fd_isset( client->stop_signal, &fds ) ){ debug("Client received stop signal."); - return 0; + return 1; // Don't try to serve more requests } diff --git a/tests/unit/check_client.c b/tests/unit/check_client.c index 3df7206..188db10 100644 --- a/tests/unit/check_client.c +++ b/tests/unit/check_client.c @@ -76,8 +76,8 @@ START_TEST( test_read_request_quits_on_stop_signal ) client_signal_stop( c ); - int client_read_request( struct client *, struct nbd_request *); - fail_unless( 0 == client_read_request( c, &nbdr ), "Didn't quit on stop." ); + int client_serve_request( struct client *); + fail_unless( 1 == client_serve_request( c ), "Didn't quit on stop." ); close( fds[0] ); close( fds[1] );