From 00e361774a3efbcdcb8f21210bb5ea68441439c9 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 25 Nov 2016 16:37:18 +0000 Subject: [PATCH] [Minor] Return to logical locks for logger --- src/libutil/logger.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/libutil/logger.c b/src/libutil/logger.c index 34d0a3d7f..c8deb1028 100644 --- a/src/libutil/logger.c +++ b/src/libutil/logger.c @@ -85,6 +85,7 @@ struct rspamd_logger_s { gchar *saved_function; gchar *saved_module; gchar *saved_id; + rspamd_mempool_mutex_t *mtx; guint saved_loglevel; guint64 log_cnt[4]; }; @@ -129,7 +130,11 @@ direct_write_log_line (rspamd_logger_t *rspamd_log, if (rspamd_log->enabled) { if (!rspamd_log->no_lock) { +#ifndef DISABLE_PTHREAD_MUTEX + rspamd_mempool_lock_mutex (rspamd_log->mtx); +#else rspamd_file_lock (rspamd_log->fd, FALSE); +#endif } if (is_iov) { @@ -142,7 +147,11 @@ direct_write_log_line (rspamd_logger_t *rspamd_log, } if (!rspamd_log->no_lock) { +#ifndef DISABLE_PTHREAD_MUTEX + rspamd_mempool_unlock_mutex (rspamd_log->mtx); +#else rspamd_file_unlock (rspamd_log->fd, FALSE); +#endif } if (r == -1) { @@ -351,6 +360,7 @@ rspamd_set_logger (struct rspamd_config *cfg, logger->errlog->elts = rspamd_mempool_alloc0_shared (rspamd->server_pool, sizeof (struct rspamd_logger_error_elt) * cfg->log_error_elts + cfg->log_error_elt_maxlen * cfg->log_error_elts); + logger->mtx = rspamd_mempool_get_mutex (rspamd->server_pool); } } else { -- 2.39.5