* try fix compilation for solaris
* this commit for issue #3843 and #3643
changes in Types.h allow ignore problem with declaration of std::int8_t. int8_t can be defined as char or signed char. IMHO we need strong types for Poco::Int's
Envelop.cpp contains initializer for EVP_CIPHER_CTX_init, because this function prototype depends on openssl version.
Application.cpp contains includes especial for SOLARIS, for ioctl support
ClassLoaderTest.cpp and SharedLibraryTest.cpp contains changes because loadlibrary(dlopen) doesn't load library from current directory by default
LocalDateTimeTest.cpp contains changes because SOLARIS use std::tm without tm_gmtoff
* fix : define of SOLARIOS OS in LocalDateTimeTest
* remove unnecessary wrapper
* fix output dir for windows build with multi-config build
* try to fix bug with unixodbc version in linux-builds
[read here](https://github.com/microsoft/linux-package-repositories/issues/36)
* try to fix bug with unixodbc version in linux-builds
[read here](https://github.com/microsoft/linux-package-repositories/issues/36)
* fix : warning in main cmake for if-condition for multi-config build
fix : error for linux-gcc-make-cxx20, use --allow-downgrades for unixodbc
* fix : warning for cmake windows builds
revert changes for linux-gcc-make-cxx20
* revert ci.yml, remove unixodbc version
* try re-run build
---------
Co-authored-by: Aleksandar Fabijanic <aleks-f@users.noreply.github.com>
* fix log verbosity in windows powershell build script
* stop paths being added multiple times to environment variables
* pass useenv property to msbuild
* linking issue: include crypto.h prior to config.h so POCO_EXTERNAL_OPENSSL is initialised
* resolve poco_base path in powershell script
* build against any available windows sdk
* fix(CI): CI MySQL compile fail #3925 (Linux)
* fix(CI): CI MySQL compile fail #3925 (Linux, 2nd attempt)
* fix(CI): CI MySQL compile fail #3925 (OSX)
* Test that enumerates lots of elements with the same name
* Use map from key to count instead of multiset
Co-authored-by: Alexander Gololobov <{ID}+{username}@users.noreply.github.com>
Timer is implemented with internal queue. If a user wants to cancel all pending tasks it can call .cancel to schedule CancelNotification.
As a part of processing of CancelNotification it will just flush the whole queue. It does have special processing for StopNotification so that Timer destruction doesn't get blocked.
Now if we first schedule async cancel and before this first cancel is processed we schedule another cancel but this time a sync second one will block because it is never notified that all tasks are canceled, _finished event is never set on that flushed CancelNotification.
Fix: add diffrent processing in case of CancelNotification to set all of it's _finished events.
Also add a test for this situation.
There was 1 failure:
1: N7CppUnit10TestCallerI7VarTestEE.testDynamicStructEmptyString
"expected: "{ "Empty": "", "Space": }" but was: "{ "Empty": "", "Space": " " }""
in "src/VarTest.cpp", line 2294
It's happen because in test we call aStruct.toString(false).
It's mean that we don't expect wrapping, but expected result was written with wrapping