ref: ef647a54c006a2a748463c81132c22ecb01d2dac
parent: 39cf6b34e34e02aa9bbec28295459769175681ad
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Thu Apr 16 12:07:36 EDT 2015
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.
--- a/sys/src/9/port/segment.c
+++ b/sys/src/9/port/segment.c
@@ -799,8 +799,11 @@
{
sio->err = nil;
sio->cmd = cmd;
+ while(waserror())
+ ;
wakeup(&sio->cmdwait);
sleep(&sio->replywait, cmddone, sio);
+ poperror();
if(sio->err != nil)
error(sio->err);
}