X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=libust%2Ftracectl.c;h=a82c107c24364e35bfde21413215c412402cad76;hb=b9318b35947bbd6d3b2998b28d974c5e5bfabcf6;hp=1b684445e63f1a2efa38bd59f0678f018adb6a9a;hpb=97c102527d03ebc20f1b579ffa0bc2e88646b58e;p=ust.git diff --git a/libust/tracectl.c b/libust/tracectl.c index 1b68444..a82c107 100644 --- a/libust/tracectl.c +++ b/libust/tracectl.c @@ -788,6 +788,15 @@ static void listener_cleanup(void *ptr) ustcomm_fini_app(&ustcomm_app, 0); } +static void do_cmd_force_switch() +{ + struct blocked_consumer *bc; + + list_for_each_entry(bc, &blocked_consumers, list) { + ltt_force_switch(bc->buf, FORCE_FLUSH); + } +} + int process_client_cmd(char *recvbuf, struct ustcomm_source *src) { int result; @@ -1013,6 +1022,9 @@ int process_client_cmd(char *recvbuf, struct ustcomm_source *src) if(result) ERR("cannot set UST_DAEMON_SOCKET environment variable"); } + else if(nth_token_is(recvbuf, "force_switch", 0) == 1) { + do_cmd_force_switch(); + } else { ERR("unable to parse message: %s", recvbuf); }