diff --git a/sys/src/kern/amd64/syscall.c b/sys/src/kern/amd64/syscall.c index 206094c..754e6ef 100644 --- a/sys/src/kern/amd64/syscall.c +++ b/sys/src/kern/amd64/syscall.c @@ -323,13 +323,15 @@ syscall(Syscalls scallnr, Ureg* ureg) } if(up->syscallq != nil){ qlock(&up->debug); - if(up->syscallq != nil){ + if(up->syscallq != nil + && !waserror()){ notedefer(); if(!waserror()){ qwrite(up->syscallq, str, jehanne_strlen(str)); poperror(); } noteallow(); + poperror(); } qunlock(&up->debug); } diff --git a/sys/src/kern/port/sysfile.c b/sys/src/kern/port/sysfile.c index 7bfd5d5..5a2e23f 100644 --- a/sys/src/kern/port/sysfile.c +++ b/sys/src/kern/port/sysfile.c @@ -51,7 +51,7 @@ growfd(Fgrp *f, int fd) /* fd is always >= 0 */ * Unbounded allocation is unwise */ if(f->nfd >= 5000){ - Exhausted: +Exhausted: jehanne_print("no free file descriptors\n"); return -1; }