diff options
author | Erik Faye-Lund <[email protected]> | 2015-06-28 14:51:09 +0200 |
---|---|---|
committer | Matt Turner <[email protected]> | 2015-06-29 09:06:40 -0700 |
commit | e566e5203aaba98109a67766cf28991de3358490 (patch) | |
tree | 0b9977766f1c16225637fb96d7c72e7e556ac444 /src/util | |
parent | c61bc6ed844b39e600cc64e3e552c7bf1894d7ba (diff) |
mesa/main: free locale at exit
In order to save a small leak if mesa is continously loaded and
unloaded, let's free the locale when the shared object is unloaded.
Signed-off-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/strtod.c | 8 | ||||
-rw-r--r-- | src/util/strtod.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/util/strtod.c b/src/util/strtod.c index a4a60e0404a..ea7d395e2da 100644 --- a/src/util/strtod.c +++ b/src/util/strtod.c @@ -45,6 +45,14 @@ _mesa_locale_init(void) #endif } +void +_mesa_locale_fini(void) +{ +#if defined(_GNU_SOURCE) && defined(HAVE_XLOCALE_H) + freelocale(loc); +#endif +} + /** * Wrapper around strtod which uses the "C" locale so the decimal * point is always '.' diff --git a/src/util/strtod.h b/src/util/strtod.h index b7e2beb5f30..60e15cfa0eb 100644 --- a/src/util/strtod.h +++ b/src/util/strtod.h @@ -34,6 +34,9 @@ extern "C" { extern void _mesa_locale_init(void); +extern void +_mesa_locale_fini(void); + extern double _mesa_strtod(const char *s, char **end); |