From 2b62ed8010d4e89dd3927008204f2e0aadb6bc01 Mon Sep 17 00:00:00 2001 From: Giacomo Tesio Date: Tue, 21 Nov 2017 00:29:31 +0100 Subject: [PATCH] kern: keep reading /proc/n/syscall after process death, to get all messages --- sys/src/kern/port/devproc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/src/kern/port/devproc.c b/sys/src/kern/port/devproc.c index a047f5d..cb1d129 100644 --- a/sys/src/kern/port/devproc.c +++ b/sys/src/kern/port/devproc.c @@ -826,6 +826,12 @@ procread(Chan *c, void *va, long n, int64_t off) } return rptr - (uint8_t*)va; } + if(QID(c->qid) == Qsyscall && qcanread(c->aux)){ + /* whatever the process status, the reader can read + * pending syscall records + */ + return qread(c->aux, va, n); + } if((p = psincref(SLOT(c->qid))) == nil) error(Eprocdied);