From 101a0d7b90e3dcd07b87140898d8f4a0b6af72cb Mon Sep 17 00:00:00 2001 From: Thomas Schoebel-Theuer Date: Mon, 25 Jan 2016 07:11:14 +0100 Subject: [PATCH] client: add socket_count reporting --- kernel/mars_client.c | 8 ++++++++ kernel/mars_client.h | 1 + 2 files changed, 9 insertions(+) diff --git a/kernel/mars_client.c b/kernel/mars_client.c index 5578a4ed..476c1206 100644 --- a/kernel/mars_client.c +++ b/kernel/mars_client.c @@ -971,6 +971,13 @@ static int client_switch(struct client_brick *brick) int status = 0; if (brick->power.button) { + int socket_count = 0; + int i; + + for (i = 0; i < MAX_CLIENT_CHANNELS; i++) + if (output->bundle.channel[i].is_connected) + socket_count++; + brick->socket_count = socket_count; if (brick->power.led_on) goto done; mars_power_led_off((void*)brick, false); @@ -985,6 +992,7 @@ static int client_switch(struct client_brick *brick) } mars_power_led_on((void*)brick, output->got_info); } else { + brick->socket_count = 0; if (brick->power.led_off) goto done; mars_power_led_on((void*)brick, false); diff --git a/kernel/mars_client.h b/kernel/mars_client.h index e42e39f5..e9c7225f 100644 --- a/kernel/mars_client.h +++ b/kernel/mars_client.h @@ -58,6 +58,7 @@ struct client_brick { /* internal */ atomic_t sender_count; atomic_t receiver_count; + int socket_count; }; struct client_input {