summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/event.c
diff options
context:
space:
mode:
authorKrishnan Parthasarathi <kparthas@redhat.com>2015-08-13 14:39:58 +0530
committerNiels de Vos <ndevos@redhat.com>2015-08-21 05:03:06 -0700
commitd80537d8e588da57db609332c2d89873e0a368ca (patch)
tree24891f4c94d3b5542e8404f6c074870863b922ac /libglusterfs/src/event.c
parente4cefd6c5915dd47c6b42098236df3901665f93a (diff)
event: add dispatched flag to know if event_dispatch was called
This is important for glusterfs processes that choose to reconfigure no. of event-threads (a.k.a epoll worker-threads) before they call event_dispatch on the event_pool. glusterd needs this today. Change-Id: Ia8df3c958545324472262c555ed84b71797f002e BUG: 1242421 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-on: http://review.gluster.org/11911 Tested-by: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'libglusterfs/src/event.c')
-rw-r--r--libglusterfs/src/event.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libglusterfs/src/event.c b/libglusterfs/src/event.c
index da5704bc0ea..ce976f11d50 100644
--- a/libglusterfs/src/event.c
+++ b/libglusterfs/src/event.c
@@ -121,7 +121,14 @@ event_dispatch (struct event_pool *event_pool)
GF_VALIDATE_OR_GOTO ("event", event_pool, out);
ret = event_pool->ops->event_dispatch (event_pool);
+ if (ret)
+ goto out;
+ pthread_mutex_lock (&event_pool->mutex);
+ {
+ event_pool->dispatched = 1;
+ }
+ pthread_mutex_unlock (&event_pool->mutex);
out:
return ret;
}