- try to optimize debug flag checking

This commit is contained in:
Mark Vejvoda
2012-05-03 01:25:34 +00:00
parent b84c69a93b
commit 2267011cbc
2 changed files with 27 additions and 17 deletions

View File

@@ -129,6 +129,8 @@ protected:
static bool haveSpecialOutputCommandLineOption; static bool haveSpecialOutputCommandLineOption;
static bool curl_global_init_called; static bool curl_global_init_called;
static SystemFlagsType * setupRequiredMembers();
public: public:
static CURL *curl_handle; static CURL *curl_handle;
@@ -141,7 +143,18 @@ public:
~SystemFlags(); ~SystemFlags();
static void init(bool haveSpecialOutputCommandLineOption); static void init(bool haveSpecialOutputCommandLineOption);
static SystemFlagsType & getSystemSettingType(DebugType type); //static SystemFlagsType & getSystemSettingType(DebugType type);
inline static SystemFlagsType & getSystemSettingType(DebugType type) {
if(SystemFlags::debugLogFileList == NULL) {
SystemFlagsType *result = setupRequiredMembers();
if(result != NULL) {
return *result;
}
}
return (*debugLogFileList)[type];
}
static size_t httpWriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data); static size_t httpWriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data);
static std::string getHTTP(std::string URL,CURL *handle=NULL, int timeOut=-1, CURLcode *savedResult=NULL); static std::string getHTTP(std::string URL,CURL *handle=NULL, int timeOut=-1, CURLcode *savedResult=NULL);
static std::string escapeURL(std::string URL, CURL *handle=NULL); static std::string escapeURL(std::string URL, CURL *handle=NULL);

View File

@@ -213,24 +213,21 @@ void SystemFlags::globalCleanupHTTP() {
} }
} }
SystemFlags::SystemFlagsType & SystemFlags::getSystemSettingType(DebugType type) { SystemFlags::SystemFlagsType * SystemFlags::setupRequiredMembers() {
if(SystemFlags::debugLogFileList == NULL) { if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
if(threadLogger == NULL && SystemFlags::SHUTDOWN_PROGRAM_MODE == true) { if(threadLogger == NULL && SystemFlags::SHUTDOWN_PROGRAM_MODE == true) {
//throw megaglest_runtime_error("threadLogger == NULL && SystemFlags::SHUTDOWN_PROGRAM_MODE == true"); //throw megaglest_runtime_error("threadLogger == NULL && SystemFlags::SHUTDOWN_PROGRAM_MODE == true");
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d] ERROR threadLogger == NULL && SystemFlags::SHUTDOWN_PROGRAM_MODE == true\n",__FILE__,__FUNCTION__,__LINE__); if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line: %d] ERROR threadLogger == NULL && SystemFlags::SHUTDOWN_PROGRAM_MODE == true\n",__FILE__,__FUNCTION__,__LINE__);
//static SystemFlagsType *result = new SystemFlagsType(); //static SystemFlagsType *result = new SystemFlagsType();
static SystemFlagsType result; static SystemFlags::SystemFlagsType result;
result.enabled = SystemFlags::VERBOSE_MODE_ENABLED; result.enabled = SystemFlags::VERBOSE_MODE_ENABLED;
return result; return &result;
} }
else { else {
SystemFlags::init(false); SystemFlags::init(false);
} return NULL;
} }
return (*debugLogFileList)[type];
} }
void SystemFlags::init(bool haveSpecialOutputCommandLineOption) { void SystemFlags::init(bool haveSpecialOutputCommandLineOption) {