I write a simple NDK program that has a logger that runs in another thread.
My program runs successfully but after that the programs quits and sometimes it dosen’t quits after running my c++ code and works correctly.
Anyone knows why my program quit after running the code.
when I use strace to debug my program it tells me +++ killed by SIGSEGV +++
semget(0x1c, 0xbe9222e8, 0x10, 0xffffffff) = -1 EINTR (Interrupted system call)
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
msgget(0x1, 0xbe922430, 0x418fce8c, 0xa8121b40) = 0
semget(0x1c, 0xbe9222e8, 0x10, 0xffffffff) = -1 EINTR (Interrupted system call)
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
msgget(0x1, 0xbe922430, 0x418fce8c, 0xa8121b40) = 0
semget(0x1c, 0xbe9222e8, 0x10, 0xffffffff <unfinished ...>
+++ killed by SIGSEGV +++
If I disabled the thread everything works fine maybe Logging in another thread with logcat is not safe
@waxspin
You were right my program exits before my logger thread destroyed.