From: Vsevolod Stakhov Date: Mon, 14 Nov 2016 13:20:00 +0000 (+0000) Subject: [Minor] Add structures to store errors in the buffer X-Git-Tag: 1.4.0~71^2~5 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=3ef2188db541900063c6275fe032d56221fdc738;p=rspamd.git [Minor] Add structures to store errors in the buffer --- diff --git a/src/libutil/logger.c b/src/libutil/logger.c index 0b90fb969..227b66f7e 100644 --- a/src/libutil/logger.c +++ b/src/libutil/logger.c @@ -33,6 +33,24 @@ #define LOG_ID 6 #define RSPAMD_LOGBUF_SIZE 8192 +struct rspamd_logger_error_elt { + GQuark ptype; + pid_t pid; + time_t ts; + guchar id[LOG_ID]; + gchar module[10]; + gchar message[]; +}; + +struct rspamd_logger_error_log { + struct rspamd_logger_error_elt *elts; + guint32 max_elts; + /* Avoid false cache sharing */ + guint32 __pad32; + guchar __padding[64 - sizeof(gpointer) - sizeof(guint64)]; + guint cur_row; +}; + /** * Static structure that store logging parameters * It is NOT shared between processes and is created by main process @@ -40,6 +58,7 @@ struct rspamd_logger_s { rspamd_log_func_t log_func; struct rspamd_config *cfg; + struct rspamd_logger_error_log *errlog; struct rspamd_cryptobox_pubkey *pk; struct rspamd_cryptobox_keypair *keypair; struct {