From ef647a54c006a2a748463c81132c22ecb01d2dac Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Thu, 16 Apr 2015 16:07:36 +0200 Subject: kernel: cannot interrupt segmentio commands once we submit a command to segmentio process, we have to wait for it to complete even if we got interrupted. --- sys/src/9/port/segment.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sys/src/9/port/segment.c') diff --git a/sys/src/9/port/segment.c b/sys/src/9/port/segment.c index 3bf5c1079..299d8c96b 100644 --- a/sys/src/9/port/segment.c +++ b/sys/src/9/port/segment.c @@ -799,8 +799,11 @@ docmd(Segio *sio, int cmd) { sio->err = nil; sio->cmd = cmd; + while(waserror()) + ; wakeup(&sio->cmdwait); sleep(&sio->replywait, cmddone, sio); + poperror(); if(sio->err != nil) error(sio->err); } -- cgit v1.2.3