summaryrefslogtreecommitdiff
path: root/rts/Pool.h
diff options
context:
space:
mode:
Diffstat (limited to 'rts/Pool.h')
-rw-r--r--rts/Pool.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/rts/Pool.h b/rts/Pool.h
index d1aeab5661..dd00412d27 100644
--- a/rts/Pool.h
+++ b/rts/Pool.h
@@ -43,7 +43,15 @@ void poolSetDesiredSize(Pool *pool, nat size);
/* Get the desired size of a pool */
nat poolGetDesiredSize(Pool *pool);
-/* Grab an available thing from a pool */
+/* Try to grab an available thing from a pool, returning NULL if no things
+ * are available.
+ */
+void *poolTryTake(Pool *pool);
+
+/* Grab an available thing from a pool. This will block if no elements are
+ * available in the case of a threaded runtime or abort in a single-threaded
+ * environment.
+ */
void *poolTake(Pool *pool);
/* Release a thing back to the pool from which it was taken */