aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2020-06-08 09:24:01 +0100
committerNick Alcock <nick.alcock@oracle.com>2020-07-22 17:57:49 +0100
commit2399827bfa1062c7f782499e6dcd9f988318d422 (patch)
treeea65807b4e18793968c87cc905ac034239cd4cd9 /include
parent9850ce4d7bb89d4f9216dd5eebc88156bf31b70b (diff)
downloadgdb-2399827bfa1062c7f782499e6dcd9f988318d422.zip
gdb-2399827bfa1062c7f782499e6dcd9f988318d422.tar.gz
gdb-2399827bfa1062c7f782499e6dcd9f988318d422.tar.bz2
libctf: add ctf_ref
This allows you to bump the refcount on a ctf_file_t, so that you can smuggle it out of iterators which open and close the ctf_file_t for you around the loop body (like ctf_archive_iter). You still can't use this to preserve a ctf_file_t for longer than the lifetime of its containing entity (e.g. ctf_archive). include/ * ctf-api.h (ctf_ref): New. libctf/ * libctf.ver (ctf_ref): New. * ctf-open.c (ctf_ref): Implement it.
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog4
-rw-r--r--include/ctf-api.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index dd9d5e0..3e3bb0a 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,5 +1,9 @@
2020-07-22 Nick Alcock <nick.alcock@oracle.com>
+ * ctf-api.h (ctf_ref): New.
+
+2020-07-22 Nick Alcock <nick.alcock@oracle.com>
+
* ctf-api.h (ctf_archive_count): New.
2020-07-22 Nick Alcock <nick.alcock@oracle.com>
diff --git a/include/ctf-api.h b/include/ctf-api.h
index fb797a3..faa7b72 100644
--- a/include/ctf-api.h
+++ b/include/ctf-api.h
@@ -285,6 +285,7 @@ extern ctf_file_t *ctf_simple_open (const char *, size_t, const char *, size_t,
size_t, const char *, size_t, int *);
extern ctf_file_t *ctf_bufopen (const ctf_sect_t *, const ctf_sect_t *,
const ctf_sect_t *, int *);
+extern void ctf_ref (ctf_file_t *);
extern void ctf_file_close (ctf_file_t *);
extern int ctf_arc_write (const char *, ctf_file_t **, size_t,