From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <973150fb54396b0515b31083d9e456c3@plan9.escet.urjc.es> To: 9fans@cse.psu.edu From: Fco.J.Ballesteros MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] change for libthread/ioproc.c Date: Fri, 24 Jan 2003 11:15:35 +0100 Topicbox-Message-UUID: 46646d32-eacb-11e9-9e20-41e7f4b1d025 Hi, when you create an ioproc and later interrupt it with iointerrupt, (since there's no handler set) the xioproc process dies. This means that the process performing the iocall hangs forever waiting in the receive from the ioproc channel. I think that xioproc() could add this near its begin: threadnotify(ionoted, 1); with static int ionoted(void*, char* n) { return (strcmp(n, "interrupt") == 0); } The result is that iointerrupt interrupts the current io operation which then returns -1 with the `interrupted' status. If there's anything else I'm missing and the current code should work correctly I'd be happy to know it (I already changed our libthread). hth