|
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.
|