# HG changeset patch # User Andre Heinecke # Date 1413196333 -7200 # Node ID 2bacaec6e1012ca94d19c4421655974f9082c5ea # Parent 845048d4a69f3f434efb2c92b80841d6a64fd1f9 (perf) Use cached values to deterimine elevation. diff -r 845048d4a69f -r 2bacaec6e101 common/util.c --- a/common/util.c Mon Oct 13 12:31:37 2014 +0200 +++ b/common/util.c Mon Oct 13 12:32:13 2014 +0200 @@ -453,10 +453,17 @@ } #endif +static bool g_is_elevated = false; +static bool g_elevated_initalized = false; + bool is_elevated() { bool ret = false; + if (g_elevated_initalized) + { + return g_is_elevated; + } #ifndef _WIN32 ret = (geteuid() == 0); #else @@ -481,6 +488,8 @@ if (hToken) CloseHandle (hToken); #endif + g_is_elevated = ret; + g_elevated_initalized = true; return ret; }