X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Faction-executor.cpp;fp=src%2Fbin%2Flttng-sessiond%2Faction-executor.cpp;h=0b910d474ca3c01c0ee01c245d0c4c25c52b8a85;hp=cc481e5b74fad316b6354306b9f7c3f5fe743545;hb=9016dbfc649a21e911ed0d5cc19bb68db35af531;hpb=8a880a84dcb8ee64cbc4a5e04cae6775b4f9babd diff --git a/src/bin/lttng-sessiond/action-executor.cpp b/src/bin/lttng-sessiond/action-executor.cpp index cc481e5b7..0b910d474 100644 --- a/src/bin/lttng-sessiond/action-executor.cpp +++ b/src/bin/lttng-sessiond/action-executor.cpp @@ -233,6 +233,15 @@ static int client_handle_transmission_status( case CLIENT_TRANSMISSION_STATUS_COMPLETE: DBG("Successfully sent full notification to client, client_id = %" PRIu64, client->id); + /* + * There is no need to wake the (e)poll thread. If it was waiting for + * "out" events on the client's socket, it will see that no payload + * in queued and will unsubscribe from that event. + * + * In the other cases, we have to wake the the (e)poll thread to either + * handle the error on the client or to get it to monitor the client "out" + * events. + */ update_communication = false; break; case CLIENT_TRANSMISSION_STATUS_QUEUED: