kern: fix very old bug in syscall tracing

This commit is contained in:
Giacomo Tesio 2017-11-17 01:23:53 +01:00
parent 7ae04d282f
commit 8ea71b1c66
2 changed files with 4 additions and 2 deletions

View File

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

View File

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