code: plan9front

Download patch

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);
 }