X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_not_thread_safe.c;h=87fc4eb5e9a83590f2f056ec18fbdc71b8abd4c1;hp=17ab404d5de2038ef123979e6a6cbac406b0264e;hb=56d67cdd0c5b2c27c9242a3d5810c7184917f663;hpb=298b318acaf1147474ab9e97cac37c3608660efd diff --git a/src/rrd_not_thread_safe.c b/src/rrd_not_thread_safe.c index 17ab404..87fc4eb 100644 --- a/src/rrd_not_thread_safe.c +++ b/src/rrd_not_thread_safe.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.1.x Copyright Tobias Oetiker, 1997 - 2002 + * RRDtool 1.4.0 Copyright by Tobi Oetiker, 1997-2009 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL @@ -13,23 +13,30 @@ #include "rrd_tool.h" #define MAXLEN 4096 #define ERRBUFLEN 256 -static char rrd_error[MAXLEN] = "\0"; -static char rrd_liberror[ERRBUFLEN] = "\0"; + /* The global context is very useful in the transition period to even more thread-safe stuff, it can be used whereever we need a context and do not need to worry about concurrency. */ -static struct rrd_context global_ctx = { - sizeof(rrd_error), - sizeof(rrd_liberror), - rrd_error, - rrd_liberror +static rrd_context_t global_ctx = { + "", + "" }; -#include -struct rrd_context *rrd_get_context() { +/* #include */ + +rrd_context_t *rrd_get_context( + void) +{ return &global_ctx; } -const char *rrd_strerror(int err) { +/* how ugly that is!!! - make sure strerror is what it should be. It + might be redefined to help in keeping other modules thread safe by + silently turning misplaced strerror into rrd_strerror, but here + this turns recursive! */ +#undef strerror +const char *rrd_strerror( + int err) +{ return strerror(err); }