diff options
Diffstat (limited to 'src/session.c')
-rw-r--r-- | src/session.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/session.c b/src/session.c index 336dfd70..87e92376 100644 --- a/src/session.c +++ b/src/session.c @@ -378,8 +378,10 @@ static int send(struct afb_event_listener_list *head, const char *event, struct result = 0; iter = head; while (iter != NULL) { - iter->listener.itf->send(iter->listener.closure, event, json_object_get(object)); - result++; + if (iter->listener.itf->expects == NULL || iter->listener.itf->expects(iter->listener.closure, event)) { + iter->listener.itf->send(iter->listener.closure, event, json_object_get(object)); + result++; + } iter = iter->next; } |