From 92597a2d660285cf32eb0b88ec3d00b4fd48156e Mon Sep 17 00:00:00 2001 From: glenda Date: Mon, 12 Sep 2022 15:49:01 +0000 Subject: =?UTF-8?q?=E2=8E=95TASKS=204=20now=20returns=20number=20of=20mess?= =?UTF-8?q?ages=20in=20mailbox?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- concurrency.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/concurrency.c b/concurrency.c index c01426d..f35f329 100644 --- a/concurrency.c +++ b/concurrency.c @@ -260,6 +260,7 @@ taskproperty(vlong t, vlong p) { ThreadData *td = nil; Array *res = nil; + int mailcount = 0; lock(&threadlock); for(int i = 0; i < nthreads && td == nil; i++) if(threads[i]->id == t) @@ -280,6 +281,13 @@ taskproperty(vlong t, vlong p) case 3: /* used stacksize */ res = mkscalarint(stackused()); break; + case 4: /* messages in mailbox */ + qlock(&td->lock); + for(Mail *tmp = td->mail; tmp != nil; tmp = tmp->next) + mailcount++; + qunlock(&td->lock); + res = mkscalarint(mailcount); + break; default: unlock(&threadlock); throwerror(L"Invalid task property", EDomain); -- cgit v1.2.3