diff options
| author | Andreas Ericsson <ae@op5.se> | 2008-11-18 22:20:15 +0100 |
|---|---|---|
| committer | Shawn O. Pearce <spearce@spearce.org> | 2008-11-22 12:08:00 -0800 |
| commit | ae23486285f4e16896afd53b20dd11180d26381a (patch) | |
| tree | 4a65039859952e2ffe776d2e1afbe0c7ea02d14c /src/git/errors.h | |
| parent | 3a2aabdce127a367aa27a4c27025199230e26c15 (diff) | |
| download | libgit2-ae23486285f4e16896afd53b20dd11180d26381a.tar.gz | |
Add an embryo of a TLS-aware error handling system
This adds the per-thread global variable git_errno to the
system, which callers can examine to get information about
an error.
Two helper functions are added to reduce LoC-count for the
library code itself.
Also, some exceptions are made for running sparse on GIT_TLS
definitions, since it doesn't grok thread-local variables at
all.
Signed-off-by: Andreas Ericsson <ae@op5.se>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'src/git/errors.h')
| -rw-r--r-- | src/git/errors.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/git/errors.h b/src/git/errors.h new file mode 100644 index 000000000..d0a0d6308 --- /dev/null +++ b/src/git/errors.h @@ -0,0 +1,25 @@ +#ifndef INCLUDE_git_errors_h__ +#define INCLUDE_git_errors_h__ +/** + * @file git/errors.h + * @brief Git error handling routines and variables + * @ingroup Git + * @{ + */ + +#include "common.h" +#include "thread-utils.h" +GIT_BEGIN_DECL + +/** The git errno. */ +GIT_EXTERN(int) GIT_TLS git_errno; + +/** + * strerror() for the Git library + * @param num The error code to explain + * @return a string explaining the error code + */ +GIT_EXTERN(const char *) git_strerror(int num); +/** @} */ +GIT_END_DECL +#endif |
