summaryrefslogtreecommitdiff
path: root/sql/rpl_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/rpl_handler.h')
-rw-r--r--sql/rpl_handler.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/sql/rpl_handler.h b/sql/rpl_handler.h
index afcfd9d55b1..62bd7d2606c 100644
--- a/sql/rpl_handler.h
+++ b/sql/rpl_handler.h
@@ -206,11 +206,13 @@ extern Binlog_relay_IO_delegate *binlog_relay_io_delegate;
#endif /* HAVE_REPLICATION */
/*
- if there is no observers in the delegate, we can return 0
- immediately.
+ if semisync replication is not enabled, we can return immediately.
*/
-#define RUN_HOOK(group, hook, args) \
- (group ##_delegate->is_empty() ? \
- 0 : group ##_delegate->hook args)
+#ifdef HAVE_REPLICATION
+#define RUN_HOOK(group, hook, args) \
+ (unlikely(run_hooks_enabled) ? group ##_delegate->hook args : 0)
+#else
+#define RUN_HOOK(group, hook, args) 0
+#endif /* HAVE_REPLICATION */
#endif /* RPL_HANDLER_H */