35a2f3af33
问题原因:init进程执行信号时,线程栈底预留了部分空间给信号上下文使用, 从而导致处理信号时线程栈底比线程控制块里面记录的大,这样在fork的过程中内核 从init线程栈底copy线程上下文给新进程时,copy的不是实际运行的栈底,以致于 新进程的线程上下文不对,在实际运行时跑飞,引发系统卡死。 解决方案:在fork过程copy线程上下文时,判断是否预留了信号上下文空间,如果预留 了,则copy的栈底要基于预留后的栈底去copy线程上下文。 close: #I41HOY Signed-off-by: zff <zhangfanfan2@huawei.com> Change-Id: I61cb05183c78919730e3a68c1c85b72fa1decd16 |
||
---|---|---|
.. | ||
los_event.c | ||
los_futex.c | ||
los_ipcdebug.c | ||
los_mux.c | ||
los_queue.c | ||
los_queue_debug.c | ||
los_rwlock.c | ||
los_sem.c | ||
los_sem_debug.c | ||
los_signal.c |