【发布时间】:2014-02-04 23:16:49
【问题描述】:
我在使用 pthread 库的嵌入式 linux 上有 linux 应用程序。 pthread“管理器”线程有时会收到信号 33 并崩溃。
我怎么知道是谁在发送信号?
跟踪日志:
...
18:15:07 getppid() = 30
18:15:07 poll([{fd=31, events=POLLIN}], 1, 2000) = 0
18:15:09 getppid() = 30
18:15:09 poll([{fd=31, events=POLLIN}], 1, 2000) = 0
18:15:11 getppid() = 30
18:15:11 poll([{fd=31, events=POLLIN}], 1, 2000) = 0
18:15:13 getppid() = 30
18:15:13 poll([{fd=31, events=POLLIN}], 1, 2000) = -1 EINTR (Interrupted system call)
18:15:13 --- SIGRT_1 (Unknown signal 33) @ 0 (0) ---
18:15:13 getppid() = 30
18:15:13 wait4(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], WNOHANG|__WCLONE, NULL) = 68
18:15:13 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
【问题讨论】: