Commit Graph

70 Commits

Author SHA1 Message Date
Aleksandar Fabijanic
e5752a5c6d
File lock (#4734)
* add RWLock implementation for file [posix]

* add implementation FileStreamRWLock for windows
replace FileStreamRWLock to the Process package

* add files FileStreamRWLock* into makefile and vcproj

* remove unnecessary file from makefile

* use absolute path to the TesApp with ProcessRunner

* fix vc*.proj

* add new test files into vc.proj.filters

* fix comments

* fix spelling fo PR #4723
add atomic_bool _locked and check if FileStreamRWLock is locked on
destruction for force unlock

* add atomic header

* File lock (#4740)

* throw error on any errno not only on EDEADLK

* fix function naming

* fix windows build

* fix windows build

---------

Co-authored-by: Alexander B <ale.bychuk@gmail.com>
Co-authored-by: bas524 <bas524@ya.ru>
2024-10-16 23:58:00 +02:00
Aleksandar Fabijanic
eaabd3ff8d
Stack trace (#4691)
* chore(Trace): add dev env settings

* add(Trace): init add Poco::trace and libbacktrace files

* feat(Exception): generate stack trace if enabled at compile time

* chore(DNSSD): remove binaries from git

* fix(Trace): build

* chore(ci): exclude exception text tests for trace build; add debug test script params

* chore(build): mac (dl)

* chore(cmake): Changes to build Trace with CMake.

* chore(cmake): Changes to build Trace on Windows

* chore(cmake): Improvements to include trace sample.

* chore(cmake): Fixes to properly build/link Trace on Linux

* chore(cmake): add_definitions --> add_compile_definitions

* chore(cmake): Build Trace as static and don't export it.

* chore(make): Link Trace with built-in libbacktrace on Linux

* chore(Trace): remove unnecessary sources for libbacktrace.

* chore(github): enable trace on a few github checks

* chore(cmake): Build Trace with clang++ on Linux.

* chore(cmake): Properly set POCO_ENABLE_TRACE globally when needed.

* fix(cmake): Trace: corrected include for clang on Linux

---------

Co-authored-by: Matej Kenda <matejken@gmail.com>
2024-10-10 10:36:13 +02:00
Matej Kenda
f3975eba96
pcre2: Version 10.44 (#4478) (#4678)
* update(pcre2): Version 10.44 (#4478)

* update(pcre2): Add new file to VS project files (version 10.44) (#4478)

* fix(RegEx): Use generic pcre2 function names (without suffix _8).

* update(pcre2): Fix configuration (define PCRE2_STATIC) (#4478)
2024-10-03 10:49:27 +02:00
Günter Obiltschnig
91b9ae8f29 feat(Foundation): added JSONFormatter, supporting JSON-formatted logging 2024-09-27 20:58:05 +02:00
Günter Obiltschnig
f04eee0650 chore: add UTF8PROC_STATIC to Makefile 2024-09-27 13:45:27 +02:00
Günter Obiltschnig
92e06497f5 feat(Foundation): Include utf8proc for enhanced Unicode support (#4710) 2024-09-27 12:46:13 +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
Pavle Dragisic
70bb3a40de
Add ProcessRunner and PIDFile (#4225)
* feat(Foundation): PIDFile and ProcessRunner #4064
* feat(Thread): optional signal blocking on POSIX #2978
* fix(ProcessRunner):remove logger, code enhancement #4225
* feat(Foundation): add PIDFile and ProcessRunner Tests #4064
* fix(Foundation): failing ProcessRunner Test #4064
* fix(PIDFile): remove append argument #4064
* remove Windows TODO from ProcessRunner #4064
* feat(ProcessRunnerTest): add line to checkTimeout #4064
* fix(ProcessRunner): add done flag to run() #4064
* fix(ProcessRunnerTest): add missing pidFile argument #4064
* chore(ProcessRunner): remove comments #4064
* fix(ProcessRunner): add runCount flag #4064
* fix(test): SharedLibrary and Class tests paths
* fix(ProcessRunner): thread sanitizer reported data races #4064
* fix(build): pass env var to testrunner #4064
* chore(PIDFile): remove ; in comments #4064
* feat(ProcessRunner): add Win argument format #4064
* fix(Tests): add ProcessRunnerTest to vcxproj #4064
* fix(Tests): change path to TestApp #4064
* feat(Tests): windows processrunner tests #4064
* fix(Tests): duplicate  ProcessRunnerTest in TestSuite vcxproj  #4064
* fix(CodeQL): sw declaration hides variable  #4064
* fix test binaries path for cmake
* fix(Build): missing include/PIDFile.h buildWin #4064
* fix(Build): add PocoFoundation depend in buildWin #4064
* feat(ProcessRunner): test process launching multiple threads #2976

---------

Co-authored-by: Pavle <pavle@debian-gnu-linux-11.localdomain>
Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
2023-11-24 20:22:01 +01:00
Alexander B
4a9285c997
Improve FifoEvent, ActiveMethod, ActiveResult (#4211)
Co-authored-by: Alexander B <bas524@ya.ru>
2023-11-22 00:59:24 +01:00
Alexander B
6a5387ec21
add visitor pattern implementation for Poco::Dynamic::Var (#4144)
* add visitor pattern implementation for Poco::Dynamic::Var

* add changes to Makefile and vcxproj for VarVisitor

* resolve review comments Poco::Dynamic::Var

---------

Co-authored-by: Alexander B <bas524@ya.ru>
2023-11-11 19:18:12 +01:00
Aleksandar Fabijanic
bbe09e48d1
Feat/pcre2 (#3663)
* upgrade to pcre2

* use pcre2_*_8 names

* fix pcre2 lib name for unbundled build

* CMake changes for PCRE2

* add missing macro for unbundled build

* add PCRE2_STATIC

* updated VS project files for pcre2

Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com>
2022-07-06 10:46:38 -05:00
Günter Obiltschnig
66d96744b1 merged GH #2641: Implement DataURIStream for extracting data from data URIs 2020-01-24 10:41:35 +01:00
Günter Obiltschnig
f63a7bbad5 added SHA2Engine 2020-01-12 08:58:36 +01:00
Alex Fabijanic
fab661a4a3 fix linux build 2017-09-27 13:03:29 -05:00
Günter Obiltschnig
04e7e04d4d Remove \$Id`$ headers 2017-09-09 11:14:06 +02:00
Guenter Obiltschnig
c22a36dc05 added Poco::EventChannel class 2016-02-29 21:53:17 +01:00
FrancisANDRE
0b309571de add $pcre_utf8_objects to objects when building an unbundled version
Signed-off-by: FrancisANDRE <zosrothko@orange.fr>
2015-11-10 14:06:51 +01:00
Asari Takashi
d1436c09fd Added WINDMC variable to build scripts 2014-12-25 09:53:44 +00:00
Daniel Rosser
010f7a5370 PCRE 8.35.0 Update
- Updated to PCRE 8.35 (latest, 2014-04-04)
- Updated Build files with new files and removed those that have
changed.
- Configured like previous configuration.
2014-10-03 23:17:24 +10:00
Christopher Baker
95b8a940da Add windmc stage to compile pocomsg.mc during MinGW builds. 2014-08-21 15:05:03 -05:00
Guenter Obiltschnig
ac2b26fcb9 added Clock class which provides a monotonic clock on most platforms and is now used by Poco::Timer, Poco::Stopwatch, Poco::TimedNotificationQueue and Poco::UtilTimer to avoid issues when the system time is changed 2013-12-12 18:33:29 +01:00
Guenter Obiltschnig
97e5ff5774 - fixed GH# 233: ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only) does not work
- fixed GH# 231: Compatibility issue with Poco::Net::NetworkInterface
- removed unneeded zlib sources
2013-07-18 13:31:27 +02:00
Aleksandar Fabijanic
b9d25faef8 more clang fixes 2013-05-27 21:33:29 -05:00
Alex
1a474584c3 mac/clang build fixes 2013-03-17 12:41:15 -05:00
aleks-f
46c3d74c5f RecursiveDirectoryIterator and ListMap
1) Recursive and SortedDirectoryIterator

- added to VS projects
- fixed some style/formatting
- fxed windows tests

2) Added ListMap

Poco::ListMap is a std::mulitimap-like container that preserves
insertion order (needed to prevent Net message headers)
2013-03-10 12:25:47 -05:00
Marian Krivos
8ddba0bcd1 SF Feature requests #168 and #163 - part 3 2013-02-20 09:44:25 +01:00
Marian Krivos
4573b5e6be SF Feature requests #168 and #163 2013-02-19 21:29:58 +01:00
Marian Krivos
9349786415 cmake and gcc warning fixes 2013-02-19 06:16:12 +01:00
aleks-f
91d5be438b replaced stream-based number formatting
embedded a portion of double-conversion library
(http://code.google.com/p/double-conversion/)and replaced stream-based
number formatting
2012-12-01 14:10:04 -06:00
aleks-f
9b89394b5b Base32 Encoder/Decoder
Base 32 Encoder/Decoder
2012-11-12 20:00:37 -06:00
Aleksandar Fabijanic
d384a499d5 porting 1.4.4 rev. 1989 (except for File_WIN32(U)/FileImpl::isDeviceImpl() where GENERIC_ACCESS was left due to breaking testFileAtributes3() test case) 2012-08-26 03:40:12 +00:00
Aleksandar Fabijanic
c1ecaaf267 remove leftover check 2012-08-20 01:09:49 +00:00
Aleksandar Fabijanic
90a8e859bf - SF #3552774: Don't hide default target in subordinate makefile
- SF #3534307: Building IPv6 for Linux by default
- SF #3516844: poco missing symbols with external >=lipcre-8.13 
- fix of rev. 1952 fix (porting rev.1913 from 1.4.4 (fixed SF# 3550553))
2012-08-20 00:57:17 +00:00
Marian Krivos
871cdaff44 zlib updated to the version 1.2.7 2012-08-07 20:42:25 +00:00
Marian Krivos
6ebb20ca4c class UTF32Encoding added 2012-06-21 16:19:19 +00:00
Aleksandar Fabijanic
69bd6f6ee9 FIFOBufferStream (g++ pacify) 2012-06-08 02:24:36 +00:00
Aleksandar Fabijanic
5a639074d9 change EOL to 'native' 2012-04-29 18:52:25 +00:00
Aleksandar Fabijanic
53a7c351f7 tidy up Foundation Makefile 2012-04-24 03:09:55 +00:00
Marian Krivos
a0daaba97e fix gmake on linux 2012-04-23 10:24:48 +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
1d8e75687e cmake build: POCO_UNBUNDLED support for sqlite 2012-02-06 18:35:26 +00:00
Marian Krivos
60050ce87a trunk/branch integration: Inflating/Deflating update, test updates, NotificationCenter update 2011-08-23 09:55:09 +00:00
Marian Krivos
86c574612c trunk/branch integration: compile fix 2011-08-23 09:20:26 +00:00
Marian Krivos
dcad41262d SF# 3190723 - fixed zlib 1.2.5, but only for trunk, because of some new/deleted files and possible project files unconsitencies (plain Makefile and cmake scripts are fixed and OK) 2011-08-16 19:51:25 +00:00
Marian Krivos
3b38af0942 added support for Latin2, Windows1250 and Windows1251 2011-05-08 12:40:36 +00:00
Guenter Obiltschnig
0bc88f1129 added new PriorityNotificationQueue, TimedNotificationQueue; added File::isDevice() 2009-04-14 10:39:41 +00:00
Aleksandar Fabijanic
645bd01ec9 DynamicStruct build files update 2008-11-24 12:56:02 +00:00
Aleksandar Fabijanic
4b4ec9393c - introduced Poco::Dynamic namespace
- moved/renamed:
Poco::DynamicAny => Poco::Dynamic::Var
Poco::DynamicAny typedef for backward compatibility (deprecated)
DynamicAny.h forwarding header for backward compatibility (deprecated)

Poco::DynamicAnyHolder => Poco::Dynamic::VarHolder
DynamicAnyHolder.h forwarding header for backward compatibility (deprecated)

Poco::DynamicStruct => Poco::Dynamic::Struct
Poco::DynamicStruct typedef for backward compatibility (deprecated)
DynamicStruct.h forwarding header for backward compatibility (deprecated)

- changed FastMutex to Mutex in Data::SessionPool (deadlocking)
2008-11-16 16:54:37 +00:00
Aleksandar Fabijanic
9b636a3fbd Makefile fix (pcre_ucp_searchfuncs => pcre_ucd) 2008-09-20 20:12:17 +00:00