summaryrefslogtreecommitdiffstats
path: root/src/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/session.c')
-rw-r--r--src/session.c6
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;
}