linux的线程结束信号和sleep使用冲突?
在实现多线程编程时遇到sleep不能使用的问题。具体情况如下:
由于多个线程各自使用着许多软硬件资源,因此为了能让进程在退出时,底下各个线程能将已使用的资源关闭,我就在主线程中对SIGINT信号进行捕抓。然后当主线程收到SIGINT信号,马上通知各线程进行结束工作(用pthread_cancel通知)。通知完所有线程后,接下来主线程会延时一段时间(用sleep)后调用exit退出。
就在这里使用sleep时出现了问题,sleep完全无法使用,一调用就返回错误。这是为什么?是不是结束信号与sleep使用的信号有冲突?麻烦谁来帮忙分析一下。
------解决方案--------------------瞅瞅代码先?
------解决方案--------------------说明你的sleep被信号中断了,要看一号code才能知道原因
------解决方案--------------------真没看出问题...
一用sleep就返回错误,是在哪返回的,返回什么样的错误?