diff --git a/libs/libks/libks.vcxproj b/libs/libks/libks.vcxproj
index 759e8c5167..b84b387dac 100644
--- a/libs/libks/libks.vcxproj
+++ b/libs/libks/libks.vcxproj
@@ -82,11 +82,17 @@
$(Platform)\$(Configuration)\
$(SolutionDir)$(Platform)\$(Configuration)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include;$(IncludePath)
+ $(SolutionDir)\openssl\lib;$(LibraryPath)
$(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include64;$(IncludePath)
$(SolutionDir)\openssl\lib64;$(LibraryPath)
+
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include64;$(IncludePath)
+ $(SolutionDir)\openssl\lib64;$(LibraryPath)
+
WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;CJSON_EXPORT_SYMBOLS;%(PreprocessorDefinitions)
@@ -96,7 +102,7 @@
Disabled
%(AdditionalIncludeDirectories)
true
- false
+ true
4711;4574;4100;4127;4668;4255;4706;4710;4820;4090;4702
@@ -108,13 +114,14 @@
- WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;%(PreprocessorDefinitions)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;CJSON_EXPORT_SYMBOLS;%(PreprocessorDefinitions)
MultiThreadedDLL
EnableAllWarnings
ProgramDatabase
%(AdditionalIncludeDirectories)
true
true
+ 4711;4574;4100;4127;4668;4255;4706;4710;4820;4090;4702
MachineX86
@@ -122,6 +129,7 @@
Windows
true
true
+ Rpcrt4.lib;Crypt32.lib;libsslMT.lib;libcryptoMT.lib;%(AdditionalDependencies)
@@ -131,7 +139,7 @@
EditAndContinue
EnableAllWarnings
true
- false
+ true
4711;4574;4100;4127;4668;4255;4706;4710;4820;4090;4702
@@ -143,13 +151,15 @@
%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;%(PreprocessorDefinitions)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBKS_EXPORTS;CJSON_EXPORT_SYMBOLS;%(PreprocessorDefinitions)
EnableAllWarnings
true
true
+ 4711;4574;4100;4127;4668;4255;4706;4710;4820;4090;4702
Windows
+ Rpcrt4.lib;Crypt32.lib;libsslMT.lib;libcryptoMT.lib;%(AdditionalDependencies)
diff --git a/libs/libks/src/ks_mutex.c b/libs/libks/src/ks_mutex.c
index 166c742487..55f2751b71 100644
--- a/libs/libks/src/ks_mutex.c
+++ b/libs/libks/src/ks_mutex.c
@@ -435,7 +435,7 @@ struct ks_rwl {
pthread_rwlock_t rwlock;
#endif
ks_pool_t *pool;
- ks_thread_os_handle_t write_locker;
+ ks_pid_t write_locker;
uint32_t wlc;
};
@@ -504,10 +504,10 @@ KS_DECLARE(ks_status_t) ks_rwl_read_lock(ks_rwl_t *rwlock)
ks_mutex_lock(rwlock->read_lock_mutex);
- int count = (int)(intptr_t)ks_hash_remove(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self());
+ int count = (int)(intptr_t)ks_hash_remove(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self_id());
if (count) {
- ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self(), (void *)(intptr_t)++count);
+ ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self_id(), (void *)(intptr_t)++count);
ks_mutex_unlock(rwlock->read_lock_mutex);
return KS_STATUS_SUCCESS;
}
@@ -520,7 +520,7 @@ KS_DECLARE(ks_status_t) ks_rwl_read_lock(ks_rwl_t *rwlock)
#endif
#ifdef WIN32
- ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self(), (void *)(intptr_t)(int)1);
+ ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self_id(), (void *)(intptr_t)(int)1);
ks_mutex_unlock(rwlock->read_lock_mutex);
#endif
@@ -530,7 +530,7 @@ KS_DECLARE(ks_status_t) ks_rwl_read_lock(ks_rwl_t *rwlock)
KS_DECLARE(ks_status_t) ks_rwl_write_lock(ks_rwl_t *rwlock)
{
- int me = (rwlock->write_locker == ks_thread_self());
+ int me = (rwlock->write_locker == ks_thread_self_id());
if (me) {
rwlock->wlc++;
@@ -542,7 +542,7 @@ KS_DECLARE(ks_status_t) ks_rwl_write_lock(ks_rwl_t *rwlock)
#else
pthread_rwlock_wrlock(&rwlock->rwlock);
#endif
- rwlock->write_locker = ks_thread_self();
+ rwlock->write_locker = ks_thread_self_id();
return KS_STATUS_SUCCESS;
}
@@ -552,10 +552,10 @@ KS_DECLARE(ks_status_t) ks_rwl_try_read_lock(ks_rwl_t *rwlock)
#ifdef WIN32
ks_mutex_lock(rwlock->read_lock_mutex);
- int count = (int)(intptr_t)ks_hash_remove(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self());
+ int count = (int)(intptr_t)ks_hash_remove(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self_id());
if (count) {
- ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self(), (void *)(intptr_t)++count);
+ ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self_id(), (void *)(intptr_t)++count);
ks_mutex_unlock(rwlock->read_lock_mutex);
return KS_STATUS_SUCCESS;
}
@@ -571,7 +571,7 @@ KS_DECLARE(ks_status_t) ks_rwl_try_read_lock(ks_rwl_t *rwlock)
#endif
#ifdef WIN32
- ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self(), (void *)(intptr_t)(int)1);
+ ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self_id(), (void *)(intptr_t)(int)1);
ks_mutex_unlock(rwlock->read_lock_mutex);
#endif
@@ -580,7 +580,7 @@ KS_DECLARE(ks_status_t) ks_rwl_try_read_lock(ks_rwl_t *rwlock)
KS_DECLARE(ks_status_t) ks_rwl_try_write_lock(ks_rwl_t *rwlock)
{
- int me = (rwlock->write_locker == ks_thread_self());
+ int me = (rwlock->write_locker == ks_thread_self_id());
if (me) {
rwlock->wlc++;
@@ -597,7 +597,7 @@ KS_DECLARE(ks_status_t) ks_rwl_try_write_lock(ks_rwl_t *rwlock)
}
#endif
- rwlock->write_locker = ks_thread_self();
+ rwlock->write_locker = ks_thread_self_id();
return KS_STATUS_SUCCESS;
}
@@ -607,10 +607,10 @@ KS_DECLARE(ks_status_t) ks_rwl_read_unlock(ks_rwl_t *rwlock)
#ifdef WIN32
ks_mutex_lock(rwlock->read_lock_mutex);
- int count = (int)(intptr_t)ks_hash_remove(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self());
+ int count = (int)(intptr_t)ks_hash_remove(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self_id());
if (count > 1) {
- ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self(), (void *)(intptr_t)--count);
+ ks_hash_insert(rwlock->read_lock_list, (void *)(intptr_t)ks_thread_self_id(), (void *)(intptr_t)--count);
ks_mutex_unlock(rwlock->read_lock_mutex);
return KS_STATUS_SUCCESS;
}
@@ -626,7 +626,7 @@ KS_DECLARE(ks_status_t) ks_rwl_read_unlock(ks_rwl_t *rwlock)
KS_DECLARE(ks_status_t) ks_rwl_write_unlock(ks_rwl_t *rwlock)
{
- int me = (rwlock->write_locker == ks_thread_self());
+ int me = (rwlock->write_locker == ks_thread_self_id());
if (me && rwlock->wlc > 0) {
rwlock->wlc--;
diff --git a/libs/libks/test/testhash.c b/libs/libks/test/testhash.c
index fed4c7f801..51526fc7eb 100644
--- a/libs/libks/test/testhash.c
+++ b/libs/libks/test/testhash.c
@@ -56,7 +56,7 @@ static void *test2_thread(ks_thread_t *thread, void *data)
ks_hash_this(itt, &key, NULL, &val);
- printf("%p ITT %s=%s\n", (void *)(intptr_t)ks_thread_self(), (char *)key, (char *)val);
+ printf("%d ITT %s=%s\n", (int)ks_thread_self_id(), (char *)key, (char *)val);
}
ks_sleep(100000);
}
@@ -165,7 +165,6 @@ int main(int argc, char **argv)
{
ks_init();
- srand((unsigned)(time(NULL) - (unsigned)(intptr_t)ks_thread_self()));
plan(3);
diff --git a/libs/libks/test/testhash.vcxproj b/libs/libks/test/testhash.vcxproj
index fea6c4ba35..433d2865ee 100644
--- a/libs/libks/test/testhash.vcxproj
+++ b/libs/libks/test/testhash.vcxproj
@@ -86,10 +86,14 @@
false
$(Platform)\$(Configuration)\$(ProjectName)\
$(SolutionDir)$(Platform)\$(Configuration)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include;$(IncludePath)
+ $(SolutionDir)\openssl\lib;$(LibraryPath)
false
$(Platform)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include64;$(IncludePath)
+ $(SolutionDir)\openssl\lib64;$(LibraryPath)
@@ -134,6 +138,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -153,6 +158,7 @@
_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
diff --git a/libs/libks/test/testpools.vcxproj b/libs/libks/test/testpools.vcxproj
index 43217d2f1a..e701b27e6a 100644
--- a/libs/libks/test/testpools.vcxproj
+++ b/libs/libks/test/testpools.vcxproj
@@ -86,10 +86,14 @@
false
$(Platform)\$(Configuration)\$(ProjectName)\
$(SolutionDir)$(Platform)\$(Configuration)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include;$(IncludePath)
+ $(SolutionDir)\openssl\lib;$(LibraryPath)
false
$(Platform)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include64;$(IncludePath)
+ $(SolutionDir)\openssl\lib64;$(LibraryPath)
@@ -100,6 +104,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -115,6 +120,7 @@
_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -132,6 +138,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -151,6 +158,7 @@
_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
diff --git a/libs/libks/test/testq.c b/libs/libks/test/testq.c
index 8519e1e957..f304f74df4 100644
--- a/libs/libks/test/testq.c
+++ b/libs/libks/test/testq.c
@@ -204,8 +204,6 @@ int main(int argc, char **argv)
ks_init();
- srand((unsigned)(time(NULL) - (unsigned)(intptr_t)ks_thread_self()));
-
plan(4 * runs);
ttl = ks_cpu_count() * 5;
diff --git a/libs/libks/test/testq.vcxproj b/libs/libks/test/testq.vcxproj
index 6a52508ef2..8b57999219 100644
--- a/libs/libks/test/testq.vcxproj
+++ b/libs/libks/test/testq.vcxproj
@@ -86,10 +86,14 @@
false
$(Platform)\$(Configuration)\$(ProjectName)\
$(SolutionDir)$(Platform)\$(Configuration)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include;$(IncludePath)
+ $(SolutionDir)\openssl\lib;$(LibraryPath)
false
$(Platform)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include64;$(IncludePath)
+ $(SolutionDir)\openssl\lib64;$(LibraryPath)
@@ -100,6 +104,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -115,6 +120,7 @@
_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -132,6 +138,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -151,6 +158,7 @@
_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
diff --git a/libs/libks/test/testsock.vcxproj b/libs/libks/test/testsock.vcxproj
index 0aeb971961..caf2ba9ae4 100644
--- a/libs/libks/test/testsock.vcxproj
+++ b/libs/libks/test/testsock.vcxproj
@@ -86,10 +86,14 @@
false
$(Platform)\$(Configuration)\$(ProjectName)\
$(SolutionDir)$(Platform)\$(Configuration)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include;$(IncludePath)
+ $(SolutionDir)\openssl\lib;$(LibraryPath)
false
$(Platform)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir)\openssl\lib64;$(LibraryPath)
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include64;$(IncludePath)
@@ -100,6 +104,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -115,6 +120,7 @@
_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -132,6 +138,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -151,6 +158,7 @@
_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
diff --git a/libs/libks/test/testthreadmutex.vcxproj b/libs/libks/test/testthreadmutex.vcxproj
index 5196a3c525..3594beb0fc 100644
--- a/libs/libks/test/testthreadmutex.vcxproj
+++ b/libs/libks/test/testthreadmutex.vcxproj
@@ -86,10 +86,14 @@
false
$(Platform)\$(Configuration)\$(ProjectName)\
$(SolutionDir)$(Platform)\$(Configuration)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include;$(IncludePath)
+ $(SolutionDir)\openssl\lib;$(LibraryPath)
false
$(Platform)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include64;$(IncludePath)
+ $(SolutionDir)\openssl\lib64;$(LibraryPath)
@@ -100,6 +104,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -115,6 +120,7 @@
_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -132,6 +138,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -151,6 +158,7 @@
_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
diff --git a/libs/libks/test/testtime.vcxproj b/libs/libks/test/testtime.vcxproj
index da3828c007..babc490498 100644
--- a/libs/libks/test/testtime.vcxproj
+++ b/libs/libks/test/testtime.vcxproj
@@ -86,10 +86,14 @@
false
$(Platform)\$(Configuration)\$(ProjectName)\
$(SolutionDir)$(Platform)\$(Configuration)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include;$(IncludePath)
+ $(SolutionDir)\openssl\lib;$(LibraryPath)
false
$(Platform)\$(Configuration)\$(ProjectName)\
+ $(SolutionDir);$(SolutionDir)\crypt;$(SolutionDir)\openssl\include64;$(IncludePath)
+ $(SolutionDir)\openssl\lib64;$(LibraryPath)
@@ -100,6 +104,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -115,6 +120,7 @@
_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -132,6 +138,7 @@
_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console
@@ -151,6 +158,7 @@
_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
true
../src/include;.
+ 4090
Console