From 8ea71b1c6608d87bbd396f3d7f1de5bb938ff220 Mon Sep 17 00:00:00 2001 From: Giacomo Tesio Date: Fri, 17 Nov 2017 01:23:53 +0100 Subject: [PATCH] kern: fix very old bug in syscall tracing --- sys/src/kern/amd64/syscall.c | 4 +++- sys/src/kern/port/sysfile.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) 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; }