The signal_handler in l2fwd-event uses several functions that are not async-signal-safe. The call to rte_mempool_lookup() in signal_handler could deadlock if interrupted during another lookup. Also updating variable in signal handler should use __atomic_store This is not a bug found by inspection. In practice the code is safe. But examples are used by users to build applications, should be following best practices.