Patches to get memcache-store working on Windows.
authorScott Cantor <cantor.2@osu.edu>
Tue, 30 Sep 2008 21:13:16 +0000 (21:13 +0000)
committerScott Cantor <cantor.2@osu.edu>
Tue, 30 Sep 2008 21:13:16 +0000 (21:13 +0000)
memcache-store/memcache-store.cpp
memcache-store/memcache-store.vcproj

index d1fb373..ac1a8a7 100644 (file)
 # include "config.h"\r
 #endif\r
 \r
+#ifdef WIN32\r
+# define _CRT_NONSTDC_NO_DEPRECATE 1\r
+# define _CRT_SECURE_NO_DEPRECATE 1\r
+# define MCEXT_EXPORTS __declspec(dllexport)\r
+#else\r
+# define MCEXT_EXPORTS\r
+#endif\r
+\r
+#include <xmltooling/base.h>\r
+#include <libmemcached/memcached.h>\r
 #include <xercesc/util/XMLUniDefs.hpp>\r
 \r
 #include <xmltooling/logging.h>\r
-\r
 #include <xmltooling/XMLToolingConfig.h>\r
 #include <xmltooling/util/NDC.h>\r
 #include <xmltooling/util/StorageService.h>\r
 #include <xmltooling/util/XMLHelper.h>\r
 \r
-#include <libmemcached/memcached.h>\r
-\r
 using namespace xmltooling::logging;\r
 using namespace xmltooling;\r
 using namespace xercesc;\r
@@ -158,8 +165,12 @@ bool MemcacheBase::addLock(string what, bool use_prefix) {
     log.debug("Unable to get lock %s... Retrying.", lock_name.c_str());\r
     \r
     // sleep 100ms\r
+#ifdef WIN32\r
+    Sleep(100);\r
+#else\r
     struct timeval tv = { 0, 100000 };\r
-    select(0, 0, 0, 0, &tv);    \r
+    select(0, 0, 0, 0, &tv);\r
+#endif\r
   }\r
   return true;\r
 }\r
@@ -727,12 +738,12 @@ void MemcacheStorageService::deleteContext(const char* context) {
 \r
 }\r
 \r
-extern "C" int xmltooling_extension_init(void*) {\r
+extern "C" int MCEXT_EXPORTS xmltooling_extension_init(void*) {\r
     // Register this SS type\r
     XMLToolingConfig::getConfig().StorageServiceManager.registerFactory("MEMCACHE", MemcacheStorageServiceFactory);\r
     return 0;\r
 }\r
 \r
-extern "C" void xmltooling_extension_term() {\r
+extern "C" void MCEXT_EXPORTS xmltooling_extension_term() {\r
     XMLToolingConfig::getConfig().StorageServiceManager.deregisterFactory("MEMCACHE");\r
 }\r
index ae72ad3..84fd317 100644 (file)
@@ -43,7 +43,7 @@
                        <Tool\r
                                Name="VCCLCompilerTool"\r
                                Optimization="0"\r
-                               AdditionalIncludeDirectories="&quot;..\..\cpp-xmltooling&quot;;..\..\..\libmemcached\visualc\toolset"\r
+                               AdditionalIncludeDirectories=".;..;&quot;..\..\cpp-xmltooling&quot;;..\..\..\libmemcached"\r
                                PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"\r
                                MinimalRebuild="true"\r
                                BasicRuntimeChecks="3"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
-                               AdditionalIncludeDirectories="&quot;..\..\cpp-xmltooling&quot;;..\..\..\libmemcached\visualc\toolset"\r
+                               AdditionalIncludeDirectories=".;..;&quot;..\..\cpp-xmltooling&quot;;..\..\..\libmemcached"\r
                                PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"\r
                                RuntimeLibrary="2"\r
                                WarningLevel="3"\r