diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-12-19 09:32:07 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-12-19 09:32:07 +0200 |
commit | c175231e2781abd17eabf412cfb597654a076c7b (patch) | |
tree | 6a41ee39754fb66646b75bcbdcb80a214c897694 /src/gdbm.h.in | |
parent | 33904b85bae29474da7ed6df3a5c1735c3162d57 (diff) | |
download | gdbm-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.in | 3 |
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[]; |