diff options
author | Janos Kovacs <janos.f.kovacs@nokia.com> | 2010-11-21 04:16:57 +0200 |
---|---|---|
committer | Janos Kovacs <janos.f.kovacs@nokia.com> | 2010-11-21 04:16:57 +0200 |
commit | a589dbe9c4f002e5aa07dac70f8b42aa00d261dc (patch) | |
tree | ab22c5199817e51b5bd9e3c0beb56803d88aaf70 | |
parent | 400729533ff2fc7c20f39e441638d234f76c6fe2 (diff) |
support for manager forced release
-rw-r--r-- | client/client.c | 9 | ||||
-rw-r--r-- | src/res-conn.c | 2 |
2 files changed, 10 insertions, 1 deletions
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 , |