* enh(ProcessRunner): does not detect launch errors #4482
* enh(File): add absolutePath and existsAnywhere() #4482
* fix windows build and tsan fail
* fix tsan
* fix windows file tests
* comment out some CI env path -related issues
* fix tsan and windows build
* try to fix ci
* ignore ProcessRunner test fail on windows cmake
* enh(File): canExecute throws FileNotFoundException if the file to be executed can't be found in the path.
* Few C++ modernisation changes.
* enh(File): Windows specifics of File::canExecute. Returns false if the file to be executed can't be found using absolutePath.
---------
Co-authored-by: Matej Kenda <matejken@gmail.com>
* feat(AsyncObserver): Improve NotificationCenter speed and usability #4414
* fix(Notification): add missing header
* feat(Any): add checkers for holding nullptr #4447
* feat(NotificationCenter): g++ build and refactoring #4414
* fix(Observer): compile errors on some compilers #4414
* fix(NotificationCenter): compile errors #4414
* chore(ParallelSocketAcceptor): remove unnecessary include and using from header
* feat(AsyncNotificationCenter): add #4414
* test(AsyncNotificationCenter): add mixed observer types to the test #4414
* fix(AsyncNotificationCenter): hangs on program exit #4414
* fix(dev): friend not honored, temporarily make private members public
* fix(AsyncNotificationCenter); remove default #4414
Instead, replace it with std::max_align_t in the Any implementation, as
really we would like to be able to store any object with any alignment
in the small object optimization case. Typically the size and alignment
of std::max_align_t is 8 or 16 on most platforms. Added a static assert
to ensure that this change doesn't result in wasting more unused memory
in case the size of the storage buffer is smaller than this maximum
alignment (which is right now 64, so shall be ok on all platforms).
* As of C++11, std::swap is noexcept. #2386
* fix(Any): remove throw on swap
* fix(Any): As of C++11, std::swap is noexcept. #2386
* fix(Any): make size const #2386
* fix(SimpleRowFormatter): clang won't compile noexcept #2386
* a couple of arm fixes
* fix(Any): As of C++11, std::swap is noexcept. #2386
* fix(AnyTest): local() for POCO_NO_SOO# 2386
* test(RSACipher): RSA encryption without private key #2367
* chore(RSACipherTest): delete ciphers #2367
* feat(Context): DH init openssl3 port (1/2 hardcoded params)
* create poco-1.11.3 branch, bump version
* update copyright date
* #3567: check legacy provider existence for legacy exception #3567
* fix(Placeholder): comparison for zero value
* feat(Context): DH init openssl3 port (2/2 params from file)
* test(HTTPSClientSession): try/catch to understand CI failure
* chore(cmake): copy the DH parameters file
* fix(OpenSSLInitializer): unload provider on uninitialize
* chore(HTTPSClientSessionTest): remove try/catch
* fix(OpenSSLInitializer): fix provider unloading
* feat(CppUnit): make tests exceptions more descriptive
* chore(CppUnit): a more descriptive name for callback
Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
* refactor(Any): SOO
- encapsulate data holders
- add missing gets and ops
- eliminate g++ warnings with enable_if's
- default enable SOO
* refactor(Placeholder): encapsulate SOO memory management and fix leaks; cf. #3297#3514
* fix(Placeholder): asan errors and add tests
cf. #3297#3514
- removed unnecessary using directives in Data library
- removed iterator pointers from Var (reduce size, always return copy)
- added Alignment header (adapted from LLVM infrastructure)
- added alignment guards to SOO implementations