diff options
author | rodri <rgl@antares-labs.eu> | 2024-09-19 21:33:17 +0000 |
---|---|---|
committer | rodri <rgl@antares-labs.eu> | 2024-09-19 21:33:17 +0000 |
commit | 2fd16cbf190d5c37fc627f79bf586f66129fea46 (patch) | |
tree | bc7ec8c30e79c722c3a4216fd430152b5265f68a /turbopool.c | |
parent | 9f4d2e578fa2b874d65fd85d28f9b9f31e88dd0f (diff) | |
download | libgraphics-2fd16cbf190d5c37fc627f79bf586f66129fea46.tar.gz libgraphics-2fd16cbf190d5c37fc627f79bf586f66129fea46.tar.bz2 libgraphics-2fd16cbf190d5c37fc627f79bf586f66129fea46.zip |
Diffstat (limited to 'turbopool.c')
-rw-r--r-- | turbopool.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/turbopool.c b/turbopool.c deleted file mode 100644 index 8011c18..0000000 --- a/turbopool.c +++ /dev/null @@ -1,60 +0,0 @@ -#include <u.h> -#include <libc.h> -#include <thread.h> -#include <draw.h> -#include <memdraw.h> -#include <geometry.h> -#include "libobj/obj.h" -#include "graphics.h" -#include "internal.h" - -static void -_turboproc(void *arg) -{ - Turbopool *p; - Turbotask *t; - - threadsetname("turboproc"); - - p = arg; - - while((t = recvp(p->subq)) != nil){ - t->fn(t->arg); - free(t); - } -} - -Turbopool * -mkturbopool(ulong nprocs) -{ - Turbopool *p; - - p = emalloc(sizeof *p); - memset(p, 0, sizeof *p); - p->nprocs = nprocs; - p->subq = chancreate(sizeof(void*), nprocs); - while(nprocs--) - proccreate(_turboproc, p, mainstacksize); - return p; -} - -void -turbopoolexec(Turbopool *p, void (*fn)(void*), void *arg) -{ - Turbotask *t; - - t = emalloc(sizeof *t); - t->fn = fn; - t->arg = arg; - - sendp(p->subq, t); -} - -void -rmturbopool(Turbopool *p) -{ - while(p->nprocs--) - sendp(p->subq, nil); - chanfree(p->subq); - free(p); -} |