Commit Graph

51 Commits

Author SHA1 Message Date
Günter Obiltschnig
962dd24e6b fix(Foundation): Poco::Placeholder initialization uses wrong size (#4711) 2024-09-26 18:42:48 +02:00
Aleksandar Fabijanic
3656f069e1
enh(ProcessRunner): does not detect launch errors #4482 (#4483)
* 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>
2024-07-29 20:16:18 +02:00
Aleksandar Fabijanic
88be66972a
AsyncObserver (#4444)
* 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
2024-02-16 09:34:19 +01:00
Günter Obiltschnig
7ffdcf97d4 fix: make headers parseable by CppParser/PocoDoc 2024-02-06 10:00:48 +01:00
Romain Geissler
5fb67c452a
Fix typos in #4086 and #4087. 2023-07-18 07:30:29 +00:00
Romain Geissler
d28129cbc4
Remove std::aligned_storage as it is deprecated in C++23.
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).
2023-07-18 07:05:32 +00:00
Aleksandar Fabijanic
86a4f0045e
Fix/posix sleep (#3705)
* fix(Thread_POSIX): sleep() poor performance #3703

* chore(vscode): add file associations

* fix(TaskManager): waits for all threads in the ThreadPool #3704

* fix(Thread): call std::this_thread::sleep_for() to sleep #3703

* fix(PollSet): wakeup fd is never read #3708

* feat(Thread): Add Thread::set/getAffinity() #3709

* doc(Thread): Thread::trySleep() assertion #3710

* fix(PollSet): wakeup fd is never read (windows portion and some other optimizations) #3708

* feat(SocketReactor): improvements #3713

* chore(ThreadTest): add missing include

* fix(PollSet): wakeup fd is never read #3708

* fix(Any): #3682 #3683 #3692 #3712

* fix(mingw): lowercase winsock2 and iphlpapi to allow cross compile #3711

* feat(Thread): Add Thread::set/getAffinity() #3709

* chore(SocketReactor): one-liners inlined, removed redundant try/catch in dospatch, remove unused onBusy()

* feat(SocketReactor): add socket to ErrorNotification

* fix(SocketReactor): pollTimeout assignment and ConnectorTest leak
2022-07-26 06:54:56 -05:00
Aleksandar Fabijanic
168f1eb6e2
As of C++11, std::swap is noexcept. #2386 (#3645)
* 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
2022-06-28 12:14:36 -05:00
Aleksandar Fabijanic
7db9831f32
Netssl/openssl3 (#3575)
* 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>
2022-04-28 22:24:43 -05:00
Alex Fabijanic
a1819107de refactor(Placeholder): more SOO consolidation and optimization 2022-04-19 09:03:47 +00:00
Aleksandar Fabijanic
45cbee7c0e
refactor(Placeholder): ifdef POCO_NO_SOO only in Placeholder and remove it anywhere else (#3566) 2022-04-18 14:28:27 -05:00
Aleksandar Fabijanic
9c976da830
Refactor/any soo (#3564)
* 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
2022-04-16 06:38:55 -05:00
Alex Fabijanic
7ae6b60e9f fix(Any): #3297 #3514 2022-04-13 21:10:56 +02:00
Günter Obiltschnig
23da8c21c9 fixed a bug in RefAnyCast causing a crash if the cast is invalid 2020-02-13 21:56:59 +01:00
Günter Obiltschnig
1bf40a0cd2 merge some changes from develop branch; modernize and clean-up code; remove support for compiling without POCO_WIN32_UTF8 2020-01-09 10:08:09 +01:00
Günter Obiltschnig
04e7e04d4d Remove \$Id`$ headers 2017-09-09 11:14:06 +02:00
Guenter Obiltschnig
544229302e #538 prevent destructors from throwing exceptions 2014-09-19 09:46:49 +02:00
Roger Meier
b0581433a7 LICENSE: add info about SPDX-License-Identifier usage and use it
fix: remove executable flag and change back to 100644 (was 100755)

Signed-off-by: Roger Meier <r.meier@siemens.com>
2014-05-14 08:38:09 +02:00
Roger Meier
628a06f718 LICENSE: add info about SPDX-License-Identifier usage and use it
Signed-off-by: Roger Meier <roger@bufferoverflow.ch>
2014-05-04 21:02:42 +02:00
Aleksandar Fabijanic
a49f5da54b GH #240: VERY strange error only when including Format.hinclude Alignment.h early
GH #240: VERY strange error only when including Format.h (include
Alignment.h early for consistency)
2013-07-22 01:10:36 -05:00
Aleksandar Fabijanic
5e6ef1c14d fixed GH #99: JSON::Query an JSON::Object
- fixed GH #99: JSON::Query an JSON::Object
- swapped order of AnyCast(const Any&) and AnyCast(Any&) definitions
2013-06-07 23:15:02 -05:00
Aleksandar Fabijanic
bc808cf9d4 WebNotifier example
- added WebNotifier example
- fixed/tidied up SOO alignment code
2013-05-30 23:23:37 -05:00
Aleksandar Fabijanic
e5eaffb790 removed Var iterators, fixed SOO alignment
- 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
2013-05-29 23:36:45 -05:00
aleks-f
5873c8e362 few more POCO_NO_SOO compile fixes 2013-04-03 21:05:22 -05:00
aleks-f
acbcfc140a removed SmallObjectAllocator
removed SmallObjectAllocator (moved to separate branch) and disabled
default SOO for Any and Dynamic::Var
2013-04-03 20:56:23 -05:00
Aleksandar Fabijanic
1f4afb9c6c improved SOO swap, fixed Darwin-clang build config 2013-03-31 16:28:53 -05:00
Aleksandar Fabijanic
5cde6d34df MSVC 7.1 build fixes 2013-03-30 13:02:16 -05:00
aleks-f
7dcee53937 gcc compile 2013-02-05 23:10:54 -06:00
Alex
2661b54ff6 work around static union member (non-C++03) 2013-02-05 22:56:03 -06:00
aleks-f
21da0129b6 Dynamic::Var SOO
Dynamic::Var  small object optimization and some refactoring
2013-02-05 22:12:21 -06:00
Alex Fabijanic
54a92c59e5 gcc/linux compile 2013-02-03 22:39:09 -06:00
aleks-f
ddfa52eefa some refactoring 2013-02-03 12:03:01 -06:00
Alex
0c7e345d89 clang mac compile 2013-02-03 07:16:06 -06:00
aleks-f
1821716d29 more tests and other changes
- ported complete suite of boost::any tests
- improved reference casting
- added swap in SOO version
2013-02-02 20:37:39 -06:00
aleks-f
ba9d8574d3 few more fixes and refactoring 2013-02-02 15:10:20 -06:00
aleks-f
911f22508e Any SOO 2013-01-31 21:12:13 -06:00
Aleksandar Fabijanic
f36a12d0f1 remove ODBC check from global rules; fix indentation in Poco::Any 2012-09-21 05:11:25 +00:00
Aleksandar Fabijanic
5a639074d9 change EOL to 'native' 2012-04-29 18:52:25 +00:00
Aleksandar Fabijanic
d75e68c027 new trunk (base for 1.5)
windows build only
2012-04-23 01:14:34 +00:00
Aleksandar Fabijanic
f9b60296f7 removing old trunk files 2012-04-23 00:43:14 +00:00
Marian Krivos
7d7c02c579 trunk: backport eventing from 1.4.3 2012-02-05 12:16:58 +00:00
Aleksandar Fabijanic
0fe95a31c4 more optimization 2008-05-14 23:51:10 +00:00
Aleksandar Fabijanic
96c57718c4 casts inlining and some code tidy-up 2008-05-13 23:26:35 +00:00
Guenter Obiltschnig
da49971d0f synced with main repository 2008-01-28 17:23:19 +00:00
Guenter Obiltschnig
b7a945da93 committed latest 1.3 snapshot 2007-04-18 16:22:57 +00:00
Guenter Obiltschnig
7639f5a3f0 sync to internal repository 2007-02-23 14:27:57 +00:00
Guenter Obiltschnig
bb11cbaf29 sources from main repository 2006-12-22 09:51:53 +00:00
Guenter Obiltschnig
772a1021dc sources from main repository 2006-12-22 09:31:08 +00:00
Guenter Obiltschnig
768642ae98 sources for 1.3 2006-11-17 16:21:51 +00:00
Guenter Obiltschnig
84fedbdb60 set eol-style to native 2006-10-23 15:48:43 +00:00