Просмотр исходного кода

[Minor] Show used loop backend

tags/2.0
Vsevolod Stakhov 4 лет назад
Родитель
Сommit
d289a3e2e2
1 измененных файлов: 47 добавлений и 0 удалений
  1. 47
    0
      src/rspamd.c

+ 47
- 0
src/rspamd.c Просмотреть файл

@@ -59,6 +59,8 @@
#ifdef HAVE_OPENSSL
#include <openssl/err.h>
#include <openssl/evp.h>
#include <ev.h>

#endif

#include "sqlite3.h"
@@ -1393,6 +1395,51 @@ main (gint argc, gchar **argv, gchar **env)
/* Init event base */
event_loop = ev_default_loop (EVFLAG_SIGNALFD|EVBACKEND_ALL);
rspamd_main->event_loop = event_loop;

if (event_loop) {
unsigned loop_type = ev_backend (event_loop);
const gchar *loop_str = "unknown";
gboolean poor_backend = TRUE;

switch (loop_type) {
case EVBACKEND_EPOLL:
loop_str = "epoll";
poor_backend = FALSE;
break;
case EVBACKEND_POLL:
loop_str = "poll";
break;
case EVBACKEND_SELECT:
loop_str = "select";
break;
case EVBACKEND_KQUEUE:
loop_str = "kqueue";
poor_backend = FALSE;
break;
case EVBACKEND_PORT:
loop_str = "port";
poor_backend = FALSE;
break;
case EVBACKEND_DEVPOLL:
loop_str = "/dev/poll";
poor_backend = FALSE;
break;
default:
break;
}

if (poor_backend) {
msg_warn_main ("event loop uses non-optimal backend: %s", loop_str);
}
else {
msg_info_main ("event loop initialised with backend: %s", loop_str);
}
}
else {
msg_err ("cannot init event loop! exiting");
exit (EXIT_FAILURE);
}

/* Unblock signals */
sigemptyset (&signals.sa_mask);
sigprocmask (SIG_SETMASK, &signals.sa_mask, NULL);

Загрузка…
Отмена
Сохранить