From: <hv...@us...> - 2014-01-16 11:41:51
|
Revision: 59041 http://sourceforge.net/p/firebird/code/59041 Author: hvlad Date: 2014-01-16 11:41:46 +0000 (Thu, 16 Jan 2014) Log Message: ----------- Adjusted MSVC10 build. Modified Paths: -------------- firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj.filters firebird/trunk/builds/win32/preprocess.bat firebird/trunk/src/common/utils.cpp firebird/trunk/src/common/utils_proto.h firebird/trunk/src/gpre/obj_cxx.cpp firebird/trunk/src/yvalve/MasterImplementation.cpp firebird/trunk/src/yvalve/perf.cpp Modified: firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj =================================================================== --- firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj 2014-01-16 00:31:47 UTC (rev 59040) +++ firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj 2014-01-16 11:41:46 UTC (rev 59041) @@ -202,6 +202,7 @@ <ClCompile Include="..\..\..\src\gpre\languages\rmc.cpp" /> <ClCompile Include="..\..\..\src\gpre\movg.cpp" /> <ClCompile Include="..\..\..\src\gpre\msc.cpp" /> + <ClCompile Include="..\..\..\src\gpre\obj_cxx.cpp" /> <ClCompile Include="..\..\..\src\gpre\par.cpp" /> <ClCompile Include="..\..\..\src\gpre\pat.cpp" /> <ClCompile Include="..\..\..\src\gpre\sqe.cpp" /> Modified: firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj.filters =================================================================== --- firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj.filters 2014-01-16 00:31:47 UTC (rev 59040) +++ firebird/trunk/builds/win32/msvc10/gpre_common.vcxproj.filters 2014-01-16 11:41:46 UTC (rev 59041) @@ -75,6 +75,9 @@ <ClCompile Include="..\..\..\src\gpre\languages\rmc.cpp"> <Filter>languages</Filter> </ClCompile> + <ClCompile Include="..\..\..\src\gpre\obj_cxx.cpp"> + <Filter>source</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\src\gpre\words.h"> Modified: firebird/trunk/builds/win32/preprocess.bat =================================================================== --- firebird/trunk/builds/win32/preprocess.bat 2014-01-16 00:31:47 UTC (rev 59040) +++ firebird/trunk/builds/win32/preprocess.bat 2014-01-16 11:41:46 UTC (rev 59041) @@ -59,7 +59,7 @@ @for %%i in (metd, DdlNodes, PackageNodes) do @call :PREPROCESS dsql %%i -gds_cxx @for %%i in (gpre_meta) do @call :PREPROCESS gpre/std %%i @for %%i in (backup, restore, OdsDetection) do @call :PREPROCESS burp %%i -@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i +@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i -ocxx @for %%i in (dba) do @call :PREPROCESS utilities/gstat %%i @set GPRE=%FB_BIN_DIR%\gpre_boot @@ -85,7 +85,7 @@ @for %%i in (codes) do @call :PREPROCESS misc %%i @for %%i in (build_file) do @call :PREPROCESS msgs %%i @for %%i in (help, meta, proc, show) do @call :PREPROCESS qli %%i -@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i +@for %%i in (extract, isql, show) do @call :PREPROCESS isql %%i -ocxx @for %%i in (dba) do @call :PREPROCESS utilities/gstat %%i @for %%i in (stats) do @call :PREPROCESS utilities %%i @goto :EOF Modified: firebird/trunk/src/common/utils.cpp =================================================================== --- firebird/trunk/src/common/utils.cpp 2014-01-16 00:31:47 UTC (rev 59040) +++ firebird/trunk/src/common/utils.cpp 2014-01-16 11:41:46 UTC (rev 59041) @@ -846,6 +846,34 @@ #endif } + +// returns system and user time in milliseconds that process runs +void get_process_times(SINT64 &userTime, SINT64 &sysTime) +{ +#if defined(WIN_NT) + FILETIME utime, stime; + if (GetProcessTimes(GetCurrentProcess(), NULL, NULL, &stime, &utime)) + { + LARGE_INTEGER lint; + + lint.HighPart = stime.dwHighDateTime; + lint.LowPart = stime.dwLowDateTime; + sysTime = lint.QuadPart / 10000; + + lint.HighPart = utime.dwHighDateTime; + lint.LowPart = utime.dwLowDateTime; + userTime = lint.QuadPart / 10000; + } + else + { + sysTime = userTime = 0; + } +#else + implement me !!! +#endif +} + + void exactNumericToStr(SINT64 value, int scale, Firebird::string& target, bool append) { if (value == 0) Modified: firebird/trunk/src/common/utils_proto.h =================================================================== --- firebird/trunk/src/common/utils_proto.h 2014-01-16 00:31:47 UTC (rev 59040) +++ firebird/trunk/src/common/utils_proto.h 2014-01-16 11:41:46 UTC (rev 59041) @@ -138,6 +138,8 @@ // Returns frequency of performance counter in Hz SINT64 query_performance_frequency(); + void get_process_times(SINT64 &userTime, SINT64 &sysTime); + void exactNumericToStr(SINT64 value, int scale, Firebird::string& target, bool append = false); enum FB_DIR { Modified: firebird/trunk/src/gpre/obj_cxx.cpp =================================================================== --- firebird/trunk/src/gpre/obj_cxx.cpp 2014-01-16 00:31:47 UTC (rev 59040) +++ firebird/trunk/src/gpre/obj_cxx.cpp 2014-01-16 11:41:46 UTC (rev 59041) @@ -3789,7 +3789,7 @@ // generate the attach database itself const TEXT* dpb_size_ptr = "0"; - const TEXT* dpb_ptr = "(char*) 0"; + const TEXT* dpb_ptr = "NULL"; align(column); if (filename) Modified: firebird/trunk/src/yvalve/MasterImplementation.cpp =================================================================== --- firebird/trunk/src/yvalve/MasterImplementation.cpp 2014-01-16 00:31:47 UTC (rev 59040) +++ firebird/trunk/src/yvalve/MasterImplementation.cpp 2014-01-16 11:41:46 UTC (rev 59041) @@ -674,9 +674,10 @@ namespace Why { + extern UtlInterface utlInterface; // Implemented in utl.cpp + Firebird::IUtl* FB_CARG MasterImplementation::getUtlInterface() { - extern UtlInterface utlInterface; // Implemented in utl.cpp return &utlInterface; } Modified: firebird/trunk/src/yvalve/perf.cpp =================================================================== --- firebird/trunk/src/yvalve/perf.cpp 2014-01-16 00:31:47 UTC (rev 59040) +++ firebird/trunk/src/yvalve/perf.cpp 2014-01-16 11:41:46 UTC (rev 59041) @@ -459,6 +459,10 @@ UCHAR info[TOTAL_COUNTERS]; // will never use all, but do not care about few bytes UCHAR* pinfo = info; +#ifdef WIN_NT +#define strtok_r strtok_s +#endif + for (char* nm = strtok_r(set, delim, &save); nm; nm = strtok_r(NULL, delim, &save)) { Firebird::NoCaseString name(nm); @@ -483,14 +487,20 @@ found: ; } +#ifdef WIN_NT +#undef strtok_r +#endif + // Force reset counters memset(counters, 0, n * sizeof(ISC_INT64)); // Fill time counters if (typeMask & CNT_TIMER) { - struct tms tus; - clock_t tr = times(&tus); + SINT64 tr = fb_utils::query_performance_counter() * 1000 / fb_utils::query_performance_frequency(); + SINT64 uTime, sTime; + fb_utils::get_process_times(uTime, sTime); + for (unsigned i = 0; i < TOTAL_COUNTERS; ++i) { if (cntLink[i] == ~0u) @@ -504,10 +514,10 @@ v = tr; break; case CNT_TIME_USER: - v = tus.tms_utime; + v = uTime; break; case CNT_TIME_SYSTEM: - v = tus.tms_stime; + v = sTime; break; default: fb_assert(false); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |