我有一个" main"线程和几个子线程。每个子线程都处于分离状态,因为返回状态对主线程不重要。
要关闭程序,主线程请求所有其他线程停止,然后是主线程pthread_exit
。程序然后在最后一个子线程退出时退出。
问题是当以这种方式终止时,我的应用程序的退出状态始终为0。
但是,有时我想退出并出现错误(退出值为1)。有没有办法让主线程在它pthread_exit
之前设置退出状态标志?
答案 0 :(得分:0)
如果您可以确保main()
退出最后,请通过调用
return <exit-value>;
而不是调用pthread_exit()
。
更新:
如果您无法确定main()
退出最后一次,那么您的程序似乎会遇到设计缺陷。