X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=door_daemon%2Fdoor_daemon.c;h=ee936573bb0287a0f870f5eb6a216853165feada;hb=7ae9abdec405d0a95dae9bcbddc1a64c6b7f4d29;hp=0f60c3077f35505152e1fe6fdc74a83a5b57d770;hpb=90524360eb192be01e1487bd45956fe0abc3b4f9;p=svn42.git diff --git a/door_daemon/door_daemon.c b/door_daemon/door_daemon.c index 0f60c30..ee93657 100644 --- a/door_daemon/door_daemon.c +++ b/door_daemon/door_daemon.c @@ -170,10 +170,14 @@ int process_cmd(const char* cmd, int fd, cmd_t **cmd_q, client_t* client_lst) char* linefeed = strchr(resp, '\n'); if(linefeed) linefeed[0] = 0; client_t* client; + int listener_cnt = 0; for(client = client_lst; client; client = client->next) - if(client->request_listener && client->fd != fd) + if(client->request_listener && client->fd != fd) { send_response(client->fd, resp); + listener_cnt++; + } free(resp); + log_printf(DEBUG, "sent request to %d additional listeners", listener_cnt); } // else silently ignore memory alloc error } @@ -301,16 +305,24 @@ int process_door(read_buffer_t* buffer, int door_fd, cmd_t **cmd_q, client_t* cl if(!strncmp(buffer->buf, "Status:", 7)) { client_t* client; + int listener_cnt = 0; for(client = client_lst; client; client = client->next) - if(client->status_listener && client->fd != cmd_fd) + if(client->status_listener && client->fd != cmd_fd) { send_response(client->fd, buffer->buf); + listener_cnt++; + } + log_printf(DEBUG, "sent status to %d additional listeners", listener_cnt); } if(!strncmp(buffer->buf, "Error:", 6)) { client_t* client; + int listener_cnt = 0; for(client = client_lst; client; client = client->next) - if(client->error_listener && client->fd != cmd_fd) + if(client->error_listener && client->fd != cmd_fd) { send_response(client->fd, buffer->buf); + listener_cnt++; + } + log_printf(DEBUG, "sent error to %d additional listeners", listener_cnt); } cmd_pop(cmd_q);