From e024987db9e50654bd36410e3eaf764fe61abbd1 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 16 Dec 2014 11:06:46 +0000
Subject: [PATCH] New MSVC property sheet for Multi-threaded XPDEV builds and
 usage: defines XPDEV_THREAD_SAFE (not currently used in Windows builds) and
 LINK_LIST_THREADSAFE (notice the inconsistent use of underscore :-) Use of
 this property sheet fixes the problem with the terminal server global
 variable 'uptime' getting corrupted when jsrt_GetNew() called listInit() from
 js_rtpool.c which didn't #include sbbs.h and therefore had a different idea
 about the size of link_list_t and thus corrupted the global data region
 (zeroing out the 'uptime' variable, probably amonst other important things).

---
 src/sbbs3/ftpsrvr.vcxproj  | 2 ++
 src/sbbs3/mailsrvr.vcxproj | 2 ++
 src/sbbs3/sbbs.vcxproj     | 2 ++
 src/sbbs3/services.vcxproj | 2 ++
 src/sbbs3/websrvr.vcxproj  | 2 ++
 5 files changed, 10 insertions(+)

diff --git a/src/sbbs3/ftpsrvr.vcxproj b/src/sbbs3/ftpsrvr.vcxproj
index 6db8934162..3a8e8d2861 100644
--- a/src/sbbs3/ftpsrvr.vcxproj
+++ b/src/sbbs3/ftpsrvr.vcxproj
@@ -38,6 +38,7 @@
     <Import Project="..\..\3rdp\win32.release\mozjs\mozjs.props" />
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -48,6 +49,7 @@
     <Import Project="..\..\3rdp\win32.release\mozjs\mozjs.props" />
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
diff --git a/src/sbbs3/mailsrvr.vcxproj b/src/sbbs3/mailsrvr.vcxproj
index 0dc42c017a..c0264352dd 100644
--- a/src/sbbs3/mailsrvr.vcxproj
+++ b/src/sbbs3/mailsrvr.vcxproj
@@ -38,6 +38,7 @@
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\undeprecate.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -48,6 +49,7 @@
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\undeprecate.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
diff --git a/src/sbbs3/sbbs.vcxproj b/src/sbbs3/sbbs.vcxproj
index c7282c60e6..72f351326a 100644
--- a/src/sbbs3/sbbs.vcxproj
+++ b/src/sbbs3/sbbs.vcxproj
@@ -39,6 +39,7 @@
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\undeprecate.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -50,6 +51,7 @@
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\undeprecate.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
diff --git a/src/sbbs3/services.vcxproj b/src/sbbs3/services.vcxproj
index 59108fc55c..2da3666852 100644
--- a/src/sbbs3/services.vcxproj
+++ b/src/sbbs3/services.vcxproj
@@ -38,6 +38,7 @@
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\undeprecate.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -48,6 +49,7 @@
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\undeprecate.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
diff --git a/src/sbbs3/websrvr.vcxproj b/src/sbbs3/websrvr.vcxproj
index 96cf4ae62a..b8c8633fb4 100644
--- a/src/sbbs3/websrvr.vcxproj
+++ b/src/sbbs3/websrvr.vcxproj
@@ -38,6 +38,7 @@
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\undeprecate.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -48,6 +49,7 @@
     <Import Project="..\comio\comio.props" />
     <Import Project="..\build\undeprecate.props" />
     <Import Project="..\build\target_ia32.props" />
+    <Import Project="..\xpdev\xpdev_mt.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
-- 
GitLab