diff options
Diffstat (limited to 'src/dropnroll.c')
-rw-r--r-- | src/dropnroll.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/dropnroll.c b/src/dropnroll.c index 210a416..b70bbc5 100644 --- a/src/dropnroll.c +++ b/src/dropnroll.c @@ -113,18 +113,18 @@ int process_watch(int inotify_fd, read_buffer_t* buffer, watch_list_t* watch_lst char* const argv[] = { opt->script_, path, event->len > 0 ? event->name : "", buf, NULL }; char* const evp[] = { NULL }; - rh_exec(opt->script_, argv, evp, child_lst, opt); - - snprintf(buf, 100, "new file in '%s', name='%s'", path, event->len > 0 ? event->name : ""); - log_printf(NOTICE, "%s, executing script %s", buf, opt->script_); - client_t* client; - int listener_cnt = 0; - for(client = client_lst; client; client = client->next) - if(client->status_listener) { - send_response(client->fd, buf); - listener_cnt++; - } - log_printf(DEBUG, "sent status to %d additional listeners", listener_cnt); + if(!rh_exec(opt->script_, argv, evp, child_lst, opt)) { + snprintf(buf, 100, "new file in '%s', name='%s'", path, event->len > 0 ? event->name : ""); + log_printf(NOTICE, "%s, executing script %s", buf, opt->script_); + client_t* client; + int listener_cnt = 0; + for(client = client_lst; client; client = client->next) + if(client->status_listener) { + send_response(client->fd, buf); + listener_cnt++; + } + log_printf(DEBUG, "sent status to %d additional listeners", listener_cnt); + } } if(buffer->offset > len) { |