我的主程序(所有c代码)将服务器函数作为单独的线程(pthread_create)启动。 此函数等待传入输入并使用它执行某些操作。与此同时,主程序也一直在做(主程序不会等待服务器功能在继续之前完成其工作)。
现在服务器功能可能发生错误(套接字问题,...)。然后,服务器功能返回某个值(例如“-1”)。 如果是这种情况,我想中止整个程序的执行。
我该如何处理?
我唯一的想法是启动第二个线程,该线程不断验证服务器线程在发生错误时更改的全局变量。然后第二个线程处理程序堕胎。
我还有其他选择吗?
亲切的问候
答案 0 :(得分:0)
您可以使用pthread_join等待父线程中子线程的终止。 或者pthread_cond_wait来实现类似的东西。