summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2015-10-22 22:17:11 +0200
committerBen Gamari <ben@smart-cactus.org>2015-11-23 17:46:52 +0100
commit6fbf22da47a18145daf59c8f262f46af2cb8cefb (patch)
tree9f228c335d4bc175eb503ec42890e34cf1ee4b13 /includes
parenta3a8ce6e60466cb3742506c7d7bfa1a5b1012728 (diff)
downloadhaskell-6fbf22da47a18145daf59c8f262f46af2cb8cefb.tar.gz
rts: Add LibdwPool, a pool for libdw sessions
Differential Revision: https://phabricator.haskell.org/D1198#40948
Diffstat (limited to 'includes')
-rw-r--r--includes/Rts.h1
-rw-r--r--includes/rts/LibdwPool.h22
2 files changed, 23 insertions, 0 deletions
diff --git a/includes/Rts.h b/includes/Rts.h
index 955cd53d23..6f4f33effc 100644
--- a/includes/Rts.h
+++ b/includes/Rts.h
@@ -239,6 +239,7 @@ INLINE_HEADER Time fsecondsToTime (double t)
#include "rts/Main.h"
#include "rts/StaticPtrTable.h"
#include "rts/Libdw.h"
+#include "rts/LibdwPool.h"
/* Misc stuff without a home */
DLL_IMPORT_RTS extern char **prog_argv; /* so we can get at these from Haskell */
diff --git a/includes/rts/LibdwPool.h b/includes/rts/LibdwPool.h
new file mode 100644
index 0000000000..3360192725
--- /dev/null
+++ b/includes/rts/LibdwPool.h
@@ -0,0 +1,22 @@
+/* ---------------------------------------------------------------------------
+ *
+ * (c) The GHC Team, 2015-2016
+ *
+ * A pool of libdw sessions
+ *
+ * --------------------------------------------------------------------------*/
+
+#ifndef RTS_LIBDW_POOL_H
+#define RTS_LIBDW_POOL_H
+
+/* Claim a session from the pool */
+LibdwSession *libdwPoolTake(void);
+
+/* Return a session to the pool */
+void libdwPoolRelease(LibdwSession *sess);
+
+/* Free any sessions in the pool forcing a reload of any loaded debug
+ * information */
+void libdwPoolClear(void);
+
+#endif /* RTS_LIBDW_POOL_H */