From a589dbe9c4f002e5aa07dac70f8b42aa00d261dc Mon Sep 17 00:00:00 2001 From: Janos Kovacs Date: Sun, 21 Nov 2010 04:16:57 +0200 Subject: support for manager forced release --- client/client.c | 9 +++++++++ src/res-conn.c | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/client/client.c b/client/client.c index 5cc9cfe..edcbac8 100644 --- a/client/client.c +++ b/client/client.c @@ -541,6 +541,7 @@ static void create_manager(void) resproto_set_handler(rconn, RESMSG_UNREGISTER, manager_receive_message); resproto_set_handler(rconn, RESMSG_GRANT , manager_receive_message); resproto_set_handler(rconn, RESMSG_ADVICE , manager_receive_message); + resproto_set_handler(rconn, RESMSG_RELEASE , manager_receive_message); connect_to_manager(rconn); } @@ -713,6 +714,14 @@ static void manager_receive_message(resmsg_t *msg, resset_t *rs, void *data) print_input(); break; + case RESMSG_RELEASE: + print_message("release request from manager"); + memset(&req, 0, sizeof(resmsg_t)); + req.possess.type = RESMSG_RELEASE; + manager_send_message(&req); + print_input(); + break; + default: if (config.verbose) { print_message("%s(): unexpected message type %d (%s)", diff --git a/src/res-conn.c b/src/res-conn.c index 46efe83..3ecbeb6 100644 --- a/src/res-conn.c +++ b/src/res-conn.c @@ -50,7 +50,7 @@ static int client_valid_message[RESMSG_MAX] = { [RESMSG_UNREGISTER] = VALID , [RESMSG_UPDATE ] = INVALID , [RESMSG_ACQUIRE ] = INVALID , - [RESMSG_RELEASE ] = INVALID , + [RESMSG_RELEASE ] = VALID , [RESMSG_GRANT ] = VALID , [RESMSG_ADVICE ] = VALID , [RESMSG_AUDIO ] = INVALID , -- cgit v1.2.3