Commit Graph

141 Commits

Author SHA1 Message Date
Aleksandar Fabijanic
78234857bf feat(ProGen): default to c++17 2023-11-05 23:40:47 +01:00
Andrey Masloboev
feee1650e4
fixed infinite loops (#4200)
- fixed infinite loops in config utils operation with broken streams
- added tests

Co-authored-by: Andrey Masloboev <amasloboev@topcon.com>
2023-10-19 13:26:44 +02:00
Günter Obiltschnig
7f5c7d1ab2 fix test by ignoring exception due to invalid path name on Windows 2023-10-01 17:30:27 +02:00
Günter Obiltschnig
22213f1111 #4173: AbstractConfiguration: when expanding property references, allow specifying a default value; #4174: AbstractConfiguration: support Int16/UInt16 and Int32/UInt32 2023-09-30 14:18:10 +02:00
Vojin Ilic
b8d1792fa0 Fix hang in destructor
Consider following situation. A class owns a timer. In destructor of that class we call .cancel() asynchronous on timer before it's destruction.
Now timer is executing cancel in it's own internal thread, while it's doing that destructor of timer is called from owner's destructor. Timer destructor enqueues stop notification. If that enqueue is happening just after while loop from cancel notification, stop notification is gonna be dropped and timer will never stop.
Fix: Add new method in TimedNotificationQueue which will return a notification regardless of the time it needs to be executed.
Get number of pending tasks in the queue. Flush out that many notifications from queue while taking special consideration of pending Stop and Cancel notifications.
Add test for new method in TimedNotificationQueue and fix cancel all tests to actually check if notification got executed.
fixes #3986
2023-04-04 12:08:49 +02:00
Alexander Gololobov
0fd1749b81
Use map from key to count instead of multiset (#3885)
* 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>
2023-01-24 00:52:23 -06:00
Vojin Ilic
46a55303ae Fix deadlock in Timer when one sync and one async cancel requests are issued
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.
2023-01-16 11:53:11 +01:00
John Vandenberg
0e6e16645c
Remove trailing whitespace (#3668) 2022-07-07 04:18:20 -05:00
Alex Fabijanic
a1b21d2a0d chore(ProGen): MSVC does not properly recognize std version #3665 2022-07-06 11:39:47 +02:00
Alex Fabijanic
37cb890e58 fix(ConfigurationView): ConfigurationView and JSON is broken for array access #3635 2022-06-20 20:59:10 +02:00
Aleksandar Fabijanic
ff879f5905
Fix/tsan (#3617)
* fix(Foundation): tsan warnings fixes

* fix(Thread_POSIX): tsan warnings fixes; add tsan.suppress

* fix(Util): tsan fixes

* fix(netSSL_OpenSSL): tsan fixes

* fix(Data): tsan warnings fixes

* feat(ci): add tsan job

* feat(ci): add tsan job, another attempt

* feat(ci): add tsan job, 3rd attempt

* fix(Foundation): tsan warnings fixes

* fix(Thread_POSIX): tsan warnings fixes; add tsan.suppress

* fix(Util): tsan fixes

* fix(netSSL_OpenSSL): tsan fixes

* fix(Data): tsan warnings fixes

* feat(ci): add tsan job

* feat(ci): add tsan job, another attempt

* feat(ci): add tsan job, 3rd attempt

* fix(ResultMetadata): memory leak #3474

* feat(ci): disable ActiveDispatcher tests for tsan runs

* feat(ci): try to fix tsan options file detection (again)

* chore(TestLibrary: correct spelling

* fix(ci): fix tsan run; add -y to apt; disable samples build for some jobs

* fix(ci): add mysql ports

* feat(ci): add VS asan

* feat(double-conversion): Upgrade double-conversion to v3.2.0 #3624

* chore(asan): disable msvc asan build (dll not found)

* chore(double-conversion): move NumericString.h before double-conversion includes to prevent min/max collision; reinstate lost loongarch64

* chore(JSON): sync pdjson with upstream

* fix(Statement): Poco::Data::Statement becomes unusable after exception #2287
2022-06-01 23:47:26 -05:00
Alex Fabijanic
980cd0273b fix(CppUnit): CppUnit notEqualsMessage causing compile errors #3615 2022-05-29 11:46:33 -05:00
Hernan Martinez
fcaab80a65
ProGen vs170 projects with Win32,x64,ARM64 (#3612) 2022-05-27 21:58:46 -05:00
Alex Fabijanic
72fdd3b444 chore(testsuite): fix testsuite Makefile 2022-05-26 12:00:41 -05:00
Kevin Dick
9a4853582f
Added LocalConfigurationView to only search inside the viewed scope (#3529) 2022-05-26 09:40:13 -05:00
Günter Obiltschnig
2b3662c854 added VS2022 project files 2022-02-19 21:06:24 +01:00
Günter Obiltschnig
034ed3332d fix warning 2021-06-16 14:11:48 +02:00
Günter Obiltschnig
ea455ad891 fix warnings 2021-06-15 10:36:53 +02:00
Günter Obiltschnig
4de9a21187 make CMake files style (more) consistent 2020-02-14 11:07:32 +01:00
Günter Obiltschnig
958387b6ba improved Lambda support 2020-01-26 08:41:22 +01:00
Joerg-Christian Boehme
885c5cbc55 Ignore tests in cmake from cppignore and set POCO_BASE environment. 2020-01-14 21:45:56 +01:00
Günter Obiltschnig
165f5cfd20 re-generated project files 2020-01-11 22:33:28 +01:00
Günter Obiltschnig
fea390fe6a remove gradle files 2020-01-11 10:04:22 +01:00
Günter Obiltschnig
e84ab92ee0 removed x64 project files 2020-01-11 09:52:49 +01:00
Günter Obiltschnig
fe3f6405b6 updated progen files 2020-01-11 09:34:54 +01:00
Günter Obiltschnig
59898cd3c2 remove old VS project files 2020-01-10 14:26:36 +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
Francis ANDRE
e59f37318e Add /MP option and remove /Gm as it is ignored and will be removed 2019-12-07 19:11:24 +01:00
Jan Kevin Dick
4773db3527 Updated CMakeList 2019-11-18 14:05:01 +01:00
Jan Kevin Dick
2ac3df363c Fixed wrong Method name in WinServiceTest.
Added Comment to setFailurActions Method.
2019-11-18 12:04:51 +01:00
Jan Kevin Dick
51fe7836ca Rename Method and fix error in vcxproj File 2019-11-18 11:57:58 +01:00
Jan Kevin Dick
39784f73a2 Added Test File to all VS Project Files 2019-11-18 11:44:33 +01:00
Jan Kevin Dick
5be6be5228 Added to the x64 Project 2019-11-18 11:32:57 +01:00
Jan Kevin Dick
3917135a7f Added Method to configure the Failure Actions 2019-11-18 11:24:04 +01:00
Jan Kevin Dick
9762ed37e9 Added Method to Query the Failure Actions for the Service 2019-11-18 10:29:17 +01:00
Jan Kevin Dick
34ad48d16c Added Method to check if a service is stopped 2019-11-18 10:14:39 +01:00
Jan Kevin Dick
5a484c1896 Added Constructor to create WinService with an existing Connection to a Service Manager 2019-11-18 10:08:11 +01:00
Francis ANDRE
5dbb9cc3de Regenerating VisualStudio projects 2018-06-20 09:47:40 +02:00
Francis ANDRE
b7330492e5 Add <TargetMachine>MachineX64</TargetMachine> on <Lib> element 2018-06-15 14:28:43 +02:00
Francis ANDRE
19eecbaafb Remove WinTestRunner 2018-06-10 19:46:19 +02:00
Joerg-Christian Boehme
612f092235 Cleanup cmake build system to use transitive dependency management from cmake (#2321)
* Some cleanup in the root CMakeLists.txt

* Cleanup cmake targets

* Add find openssl modul for older cmake version

* Set proper scope

* Change crypto default to off

* Fix openssl default to on

* Remove global setting of C99 standard

* Set from C11 to C99

* Fix for NetSSL win build

* Set C99 compile features

* Fix Windows build

* Fix windows build

* Cleanup poco unbundle definition

* Fix PDF build

* Remove unused set affinity

* Add _CRT_SECURE_NO_WARNINGS as target compile definitions

* Add _AFXDLL as target compile definitions

* Remove commented out line

* Refactor add_definitions to target_compile_definitons in Util

* Refactor add_definitions to target_compile_definitons in XML

* Remove THREADSAFE in data sql cmake build

* Refactor add_definitions to target_compile_definition in cmake mysql

* Refactor add_definitions to target_compile_definition in cmake odbc

* Refactor add_definitions to target_compile_definition in cmake sqlite

* Refactor add_definitions to target_compile_definitions in platform specific cmake

* Add _DEBUG as compile definition

* Add build dependencies between Foundation-testrunner and TestApp, TestLibrary in cmake build

* Use cmake property to build shared libs

* Cleanup POCO_NO_AUTOMATIC_LIBS. Set only for Windows in cmake build system

* cleanup LIB_MODE_DEFINITIONS in cmake buld system

* Add POCO_STATIC for CppUnit

* Cleanup target link libraries and add option dependencies.

* Add dependencies management in cmake

* Update cmake documentation

* Squashed commit of the following:

commit 38c233f93fc8e9ad6e24d686c905eb18c86e19a7

    Fix "invalid new-expression of abstract class type ApacheServerRequest" (#2231)

    - abstract method "bool secure() const" defined in HTTPServerRequest was implemented in ApacheServerRequest, one of its derived classes
     - a ap_log_error had one of its parameters changed for fixing a warning "passing NULL to non-pointer argument"
     - minor indentation problems corrected

commit 4cbdfbe828943871618172f9e042176f115d61d8

    Fix build dependencies

* Improve database cmake build dependencies

* Update doc

* Update doc

* Update cmake build commands

* Set public on target link libraries in cmake build system

* Fix PostgreSQL build

* Fix PostgreSQL build in cmake

* Fix PostgreSQL from SQL to Data

* Squashed commit of the following:

commit 1ba7d5dcbfb8d07860dd4efda33b31bedf6184c4

    Add missing cmake file

* Set path to PostgresSQL in AppVoyer

* Try to fix AppVeyor build

* show dir in appvoyer

* Disable PostgreSQL build on Appvoyer

* Refactor add_definitions to target_compile_definitions
2018-06-03 11:17:50 -05:00
Francis ANDRE
4c22b871ae Use CppUnit as a Poco module: regenerate all VS projects 2018-05-28 23:29:12 +02:00
Francis ANDRE
db5d570f33 Add Poco as prefix of CppUnit import libs 2018-05-28 19:58:05 +02:00
Francis ANDRE
be79688077 Use PocoCppUnit instead of CppUnit 2018-05-25 14:05:00 +02:00
zosrothko
960ecb38f0 Poco 1.9.1 assert true (#2255)
* Rename assert by assertTrue

* Update submodules

* Missing assertTrue

* Rename poco_assertTrue to poco_assert

* Rename poco_assertTrue to poco_assert
2018-03-29 11:12:54 -06:00
Günter Obiltschnig
d73bb2ea86 fixed GH #2058: Synchronization issue in Poco::Util::Timer at destruction 2018-03-06 17:33:02 +01:00
Joerg-Christian Boehme
9feabc7723 Add android build on travis (#1981)
* Add build for android in travis CI.

* Fix review findings. Change from __ANDORID__ to POCO_ANDROID

* Add android test

* Fix compile issue after rebase

* Ignore test big ping when its failing
2018-02-26 18:54:40 -06:00
Björn Schramke
b59329034f add some methods to Poco::Path for make it easy to follow XDG Base Directory Specification 2018-02-13 08:07:45 -06:00
Rudolf-Walter Kiss-Szakács
275275baa9 Issues #1609 and #561 have not made it into a stable release #2152 2018-02-13 07:53:41 -06:00
Francis ANDRE
5591d10a21 Merge remote-tracking branch 'origin/poco-1.8.0' into poco-1.8.0 2017-10-31 18:11:51 +01:00