summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Raghavan <arun.raghavan@collabora.co.uk>2013-04-20 10:12:34 +0530
committerArun Raghavan <arun.raghavan@collabora.co.uk>2013-04-20 10:12:34 +0530
commit4c23720ef1f883260c47d43f4e10795abf06587c (patch)
treec3f8298cd2be9b21fcb545cfe387525cc9c36f58
parent3d7bc637c4c4b556df5ecd08915300ecfd93bde8 (diff)
pulsecore: Make run-from-build not readlink() on every call
Since this is no longer only defined in debug builds, let's make sure that there is no impact if this is indavertently called repeatedly at startup.
-rw-r--r--src/pulsecore/core-util.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
index 657e5008..96cf4e83 100644
--- a/src/pulsecore/core-util.c
+++ b/src/pulsecore/core-util.c
@@ -3209,12 +3209,14 @@ void pa_reset_personality(void) {
pa_bool_t pa_run_from_build_tree(void) {
char *rp;
- pa_bool_t b = FALSE;
+ static pa_bool_t b = FALSE;
- if ((rp = pa_readlink("/proc/self/exe"))) {
- b = pa_startswith(rp, PA_BUILDDIR);
- pa_xfree(rp);
- }
+ PA_ONCE_BEGIN {
+ if ((rp = pa_readlink("/proc/self/exe"))) {
+ b = pa_startswith(rp, PA_BUILDDIR);
+ pa_xfree(rp);
+ }
+ } PA_ONCE_END;
return b;
}