[英]process exit and impact on threads
在維護下,我發現在某些不可恢復的錯誤的情況下,項目代碼(在Linux上的c/c++
中)調用libc
exit
函數。 但是,此進程終止調用將在多個線程中使用(每個遇到不可恢復的情況時)。 現在-
exit
而沒有任何副作用。 exit
(在主線程或任何其他線程中)時,都可以保證正常退出線程。 我知道標准(手冊頁)對此沒有任何說明,最好的方法是啟動所有線程的正常終止並使用通知機制,必須通知main
線程正常終止。 但是,由於這是一個正在維護的項目,因此請在更改之前檢查當前行為是否正確。
我面臨的問題是,我可以看到隨機崩潰,其中一個線程處於exit
調用執行的適當過程中。
對於第一個問題,當您調用exit
(從任何線程,main或child退出)時,進程將立即退出。
對於第二個問題,請參見上面的答案。 簡而言之,沒有。 線程不會“優雅地”退出(無論如何從應用程序的角度來看)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.