aboutsummaryrefslogtreecommitdiff
path: root/src/gdbm.h.in
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2017-12-19 09:32:07 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2017-12-19 09:32:07 +0200
commitc175231e2781abd17eabf412cfb597654a076c7b (patch)
tree6a41ee39754fb66646b75bcbdcb80a214c897694 /src/gdbm.h.in
parent33904b85bae29474da7ed6df3a5c1735c3162d57 (diff)
downloadgdbm-c175231e2781abd17eabf412cfb597654a076c7b.tar.gz
gdbm-c175231e2781abd17eabf412cfb597654a076c7b.tar.bz2
Make gdbm_error thread-safe
* src/gdbm.h.in (gdbm_errno_location): New extern (gdbm_errno): Change to a define. * src/gdbmerrno.c (gdbm_errno_location): New function. (gdbm_errno_storage): Thread-safe storage for the last errno.
Diffstat (limited to 'src/gdbm.h.in')
-rw-r--r--src/gdbm.h.in3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gdbm.h.in b/src/gdbm.h.in
index de0d2b9..26bcaa4 100644
--- a/src/gdbm.h.in
+++ b/src/gdbm.h.in
@@ -227,7 +227,8 @@ extern int gdbm_copy_meta (GDBM_FILE dst, GDBM_FILE src);
# define GDBM_UNKNOWN_UPDATE GDBM_UNKNOWN_ERROR
typedef int gdbm_error;
-extern gdbm_error gdbm_errno;
+extern int *gdbm_errno_location (void);
+#define gdbm_errno (*gdbm_errno_location ())
extern const char * const gdbm_errlist[];
extern int const gdbm_syserr[];

Return to:

Send suggestions and report system problems to the System administrator.