The handling of SIGINT and SIGTERM in the l2fwd-cat example is unsafe and non-portable. The signal handler could be called by any thread at any time. The current method (copy/paste from testpmd?) is to call cat_exit() in the signal handler. This may race with other threads and cause problems. The better solution is to set a flag in signal handler and then do the shutdown aft er the main loop exits.