diff options
author | Didier Brachet | 2013-03-07 14:05:17 +0000 |
---|---|---|
committer | Didier Brachet | 2013-03-07 14:05:17 +0000 |
commit | d6a37e99f914fce04a71b64a6a7c49bc24682fc3 (patch) | |
tree | bb588e22bfe6d57b9c9cb437e1847304e98131ed | |
parent | b217c1b4d14f5b24ed32f54fda7340901c3ca956 (diff) | |
download | org.eclipse.tcf.agent-d6a37e99f914fce04a71b64a6a7c49bc24682fc3.tar.gz org.eclipse.tcf.agent-d6a37e99f914fce04a71b64a6a7c49bc24682fc3.tar.xz org.eclipse.tcf.agent-d6a37e99f914fce04a71b64a6a7c49bc24682fc3.zip |
TCF Agent: Fixed signal mask support for threads created during debug session
Fixed regression issue where signal mask was not correctly set for threads
created by a debugged process. Those threads should have inherited the
signal mask of the creator/process but it was no longer the case.
-rw-r--r-- | agent/system/GNU/Linux/tcf/context-linux.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/agent/system/GNU/Linux/tcf/context-linux.c b/agent/system/GNU/Linux/tcf/context-linux.c index e9bc9b8f..28a36aa3 100644 --- a/agent/system/GNU/Linux/tcf/context-linux.c +++ b/agent/system/GNU/Linux/tcf/context-linux.c @@ -1069,10 +1069,12 @@ static Context * add_thread(Context * parent, Context * creator, pid_t pid) { alloc_regs(ctx); ctx->mem = parent; ctx->big_endian = parent->big_endian; - ctx->sig_dont_stop = ctx->sig_dont_stop; - ctx->sig_dont_pass = ctx->sig_dont_pass; ctx->creator = creator; - if (creator) creator->ref_count++; + if (creator) { + ctx->sig_dont_stop = creator->sig_dont_stop; + ctx->sig_dont_pass = creator->sig_dont_pass; + creator->ref_count++; + } (ctx->parent = parent)->ref_count++; if (EXT(parent)->detach_req) { ctx->exiting = 1; |