tron@mrecvax.UUCP (Carlos Mendioroz) (11/19/88)
Has anybody seen sleep() not returning even though wakeup() has been called ? In a litle driver that has a ioctl() interface and an interrupt service routine, I call sleep to wait for the device to complete its function and then wakeup (from xxintr()) to restart execution. Also, as I don't have a 100% probability of the device function to complete, there is a timeout() that calls another wakeup(). So far, so good. But... Sometimes, the ioctl() never returns. A ps will tell you that the corresponding process is running (no WCHAN), the device shows no activity and the process is "inmortal". (No response to any signal) By adding some debug code, I have stated that the sleep() doesn't return although wakeup() is called twice. (xxintr & xxtimeout) Any help will be apreciated! -- ---- Carlos G. Mendioroz <tron@mrecvax.mrec.ar> Work: +54 (1) 313-8082 Fax: +54 (1) 311-1249 Home: +54 (1) 71-3473 ; Malabia 2659 11 B, Buenos Aires, 1425 ARGENTINA