From ba10e311bddab18e38b1b706e232f804c2da9174 Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Sun, 12 Apr 2015 11:34:58 -0300 Subject: memory: Replace klib memory pools by malloc/free Klib pools were used to improve allocation efficiency for some small objects, but it is not a thread-safe approach. Thread safety in allocations will be required for implementing #2371). --- src/nvim/os/signal.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'src/nvim/os/signal.c') diff --git a/src/nvim/os/signal.c b/src/nvim/os/signal.c index a332ad2314..f824543003 100644 --- a/src/nvim/os/signal.c +++ b/src/nvim/os/signal.c @@ -1,9 +1,8 @@ +#include #include #include -#include "nvim/lib/klist.h" - #include "nvim/ascii.h" #include "nvim/vim.h" #include "nvim/globals.h" @@ -15,10 +14,6 @@ #include "nvim/os/signal.h" #include "nvim/os/event.h" -#define SignalEventFreer(x) -KMEMPOOL_INIT(SignalEventPool, int, SignalEventFreer) -kmempool_t(SignalEventPool) *signal_event_pool = NULL; - static uv_signal_t spipe, shup, squit, sterm; #ifdef SIGPWR static uv_signal_t spwr; @@ -32,7 +27,6 @@ static bool rejecting_deadly; void signal_init(void) { - signal_event_pool = kmp_init(SignalEventPool); uv_signal_init(uv_default_loop(), &spipe); uv_signal_init(uv_default_loop(), &shup); uv_signal_init(uv_default_loop(), &squit); @@ -119,18 +113,16 @@ static void deadly_signal(int signum) static void signal_cb(uv_signal_t *handle, int signum) { - int *n = kmp_alloc(SignalEventPool, signal_event_pool); - *n = signum; + assert(signum >= 0); event_push((Event) { .handler = on_signal_event, - .data = n + .data = (void *)(uintptr_t)signum }, false); } static void on_signal_event(Event event) { - int signum = *((int *)event.data); - kmp_free(SignalEventPool, signal_event_pool, event.data); + int signum = (int)(uintptr_t)event.data; switch (signum) { #ifdef SIGPWR -- cgit