aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/client.c9
-rw-r--r--src/res-conn.c2
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 ,