diff --git a/deps/oblib/src/lib/signal/ob_signal_worker.cpp b/deps/oblib/src/lib/signal/ob_signal_worker.cpp index 3990905138d12d9c3aabb2ca04a58cd393742938..1f4eafbf51732c41c7af448d67ee142341912c9d 100644 --- a/deps/oblib/src/lib/signal/ob_signal_worker.cpp +++ b/deps/oblib/src/lib/signal/ob_signal_worker.cpp @@ -103,6 +103,9 @@ void iter_task(task_cb cb, void *data1, void *data2, int64_t exclude_tid) char d_name[]; }; int fd = ::open("/proc/self/task/", O_DIRECTORY | O_RDONLY); + DEFER( + CLOSE(fd); + ); if (-1 == fd) { } else { int tgid = getpid();