Skip to content

Commit

Permalink
Add ProcessRunner and PIDFile (#4225)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
3 people committed Nov 27, 2023
1 parent 3fabbe0 commit 9f4c068
Show file tree
Hide file tree
Showing 36 changed files with 1,469 additions and 95 deletions.
2 changes: 1 addition & 1 deletion Data/src/sql-parser/src/sqlparser_win.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

#ifdef Data_API
#define SQLParser_API Data_API
#ifdef Data_EXPORTS
#if defined(Data_EXPORTS) && !defined(SQLParser_EXPORTS)
#define SQLParser_EXPORTS
#endif
#else
Expand Down
4 changes: 4 additions & 0 deletions Foundation/Foundation_vs140.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1093,6 +1093,7 @@
</ClCompile>
<ClCompile Include="src\pcre2_valid_utf.c" />
<ClCompile Include="src\pcre2_xclass.c" />
<ClCompile Include="src\PIDFile.cpp" />
<ClCompile Include="src\Pipe.cpp" />
<ClCompile Include="src\PipeImpl.cpp" />
<ClCompile Include="src\PipeImpl_DUMMY.cpp">
Expand Down Expand Up @@ -1168,6 +1169,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="src\ProcessRunner.cpp" />
<ClCompile Include="src\PurgeStrategy.cpp" />
<ClCompile Include="src\Random.cpp" />
<ClCompile Include="src\RandomStream.cpp" />
Expand Down Expand Up @@ -1655,6 +1657,7 @@
<ClInclude Include="include\Poco\Path_WIN32U.h" />
<ClInclude Include="include\Poco\PatternFormatter.h" />
<ClInclude Include="include\Poco\PBKDF2Engine.h" />
<ClInclude Include="include\Poco\PIDFile.h" />
<ClInclude Include="include\Poco\Pipe.h" />
<ClInclude Include="include\Poco\PipeImpl.h" />
<ClInclude Include="include\Poco\PipeImpl_DUMMY.h" />
Expand All @@ -1673,6 +1676,7 @@
<ClInclude Include="include\Poco\Process.h" />
<ClInclude Include="include\Poco\Process_UNIX.h" />
<ClInclude Include="include\Poco\Process_WIN32U.h" />
<ClInclude Include="include\Poco\ProcessRunner.h" />
<ClInclude Include="include\Poco\PurgeStrategy.h" />
<ClInclude Include="include\Poco\Random.h" />
<ClInclude Include="include\Poco\RandomStream.h" />
Expand Down
12 changes: 12 additions & 0 deletions Foundation/Foundation_vs140.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,9 @@
<ClCompile Include="src\NamedMutex_WIN32U.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PIDFile.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Pipe.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -669,6 +672,9 @@
<ClCompile Include="src\Process_WIN32U.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ProcessRunner.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SharedMemory.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -1514,6 +1520,9 @@
<ClInclude Include="include\Poco\NamedMutex_WIN32U.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\PIDFile.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Pipe.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
Expand Down Expand Up @@ -1541,6 +1550,9 @@
<ClInclude Include="include\Poco\Process_WIN32U.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\ProcessRunner.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\SharedMemory.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
Expand Down
4 changes: 4 additions & 0 deletions Foundation/Foundation_vs150.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1093,6 +1093,7 @@
</ClCompile>
<ClCompile Include="src\pcre2_valid_utf.c" />
<ClCompile Include="src\pcre2_xclass.c" />
<ClCompile Include="src\PIDFile.cpp" />
<ClCompile Include="src\Pipe.cpp" />
<ClCompile Include="src\PipeImpl.cpp" />
<ClCompile Include="src\PipeImpl_DUMMY.cpp">
Expand Down Expand Up @@ -1168,6 +1169,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="src\ProcessRunner.cpp" />
<ClCompile Include="src\PurgeStrategy.cpp" />
<ClCompile Include="src\Random.cpp" />
<ClCompile Include="src\RandomStream.cpp" />
Expand Down Expand Up @@ -1655,6 +1657,7 @@
<ClInclude Include="include\Poco\Path_WIN32U.h" />
<ClInclude Include="include\Poco\PatternFormatter.h" />
<ClInclude Include="include\Poco\PBKDF2Engine.h" />
<ClInclude Include="include\Poco\PIDFile.h" />
<ClInclude Include="include\Poco\Pipe.h" />
<ClInclude Include="include\Poco\PipeImpl.h" />
<ClInclude Include="include\Poco\PipeImpl_DUMMY.h" />
Expand All @@ -1673,6 +1676,7 @@
<ClInclude Include="include\Poco\Process.h" />
<ClInclude Include="include\Poco\Process_UNIX.h" />
<ClInclude Include="include\Poco\Process_WIN32U.h" />
<ClInclude Include="include\Poco\ProcessRunner.h" />
<ClInclude Include="include\Poco\PurgeStrategy.h" />
<ClInclude Include="include\Poco\Random.h" />
<ClInclude Include="include\Poco\RandomStream.h" />
Expand Down
12 changes: 12 additions & 0 deletions Foundation/Foundation_vs150.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,9 @@
<ClCompile Include="src\NamedMutex_WIN32U.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PIDFile.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Pipe.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -669,6 +672,9 @@
<ClCompile Include="src\Process_WIN32U.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ProcessRunner.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SharedMemory.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -1514,6 +1520,9 @@
<ClInclude Include="include\Poco\NamedMutex_WIN32U.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\PIDFile.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Pipe.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
Expand Down Expand Up @@ -1541,6 +1550,9 @@
<ClInclude Include="include\Poco\Process_WIN32U.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\ProcessRunner.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\SharedMemory.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
Expand Down
4 changes: 4 additions & 0 deletions Foundation/Foundation_vs160.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1099,6 +1099,7 @@
</ClCompile>
<ClCompile Include="src\pcre2_valid_utf.c" />
<ClCompile Include="src\pcre2_xclass.c" />
<ClCompile Include="src\PIDFile.cpp" />
<ClCompile Include="src\Pipe.cpp" />
<ClCompile Include="src\PipeImpl.cpp" />
<ClCompile Include="src\PipeImpl_DUMMY.cpp">
Expand Down Expand Up @@ -1174,6 +1175,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="src\ProcessRunner.cpp" />
<ClCompile Include="src\PurgeStrategy.cpp" />
<ClCompile Include="src\Random.cpp" />
<ClCompile Include="src\RandomStream.cpp" />
Expand Down Expand Up @@ -1661,6 +1663,7 @@
<ClInclude Include="include\Poco\Path_WIN32U.h" />
<ClInclude Include="include\Poco\PatternFormatter.h" />
<ClInclude Include="include\Poco\PBKDF2Engine.h" />
<ClInclude Include="include\Poco\PIDFile.h" />
<ClInclude Include="include\Poco\Pipe.h" />
<ClInclude Include="include\Poco\PipeImpl.h" />
<ClInclude Include="include\Poco\PipeImpl_DUMMY.h" />
Expand All @@ -1679,6 +1682,7 @@
<ClInclude Include="include\Poco\Process.h" />
<ClInclude Include="include\Poco\Process_UNIX.h" />
<ClInclude Include="include\Poco\Process_WIN32U.h" />
<ClInclude Include="include\Poco\ProcessRunner.h" />
<ClInclude Include="include\Poco\PurgeStrategy.h" />
<ClInclude Include="include\Poco\Random.h" />
<ClInclude Include="include\Poco\RandomStream.h" />
Expand Down
12 changes: 12 additions & 0 deletions Foundation/Foundation_vs160.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,9 @@
<ClCompile Include="src\NamedMutex_WIN32U.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PIDFile.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Pipe.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -669,6 +672,9 @@
<ClCompile Include="src\Process_WIN32U.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ProcessRunner.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SharedMemory.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -1514,6 +1520,9 @@
<ClInclude Include="include\Poco\NamedMutex_WIN32U.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\PIDFile.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Pipe.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
Expand Down Expand Up @@ -1541,6 +1550,9 @@
<ClInclude Include="include\Poco\Process_WIN32U.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\ProcessRunner.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\SharedMemory.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
Expand Down
4 changes: 4 additions & 0 deletions Foundation/Foundation_vs170.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1550,6 +1550,7 @@
</ClCompile>
<ClCompile Include="src\pcre2_valid_utf.c" />
<ClCompile Include="src\pcre2_xclass.c" />
<ClCompile Include="src\PIDFile.cpp" />
<ClCompile Include="src\Pipe.cpp" />
<ClCompile Include="src\PipeImpl.cpp" />
<ClCompile Include="src\PipeImpl_DUMMY.cpp">
Expand Down Expand Up @@ -1655,6 +1656,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="src\ProcessRunner.cpp" />
<ClCompile Include="src\PurgeStrategy.cpp" />
<ClCompile Include="src\Random.cpp" />
<ClCompile Include="src\RandomStream.cpp" />
Expand Down Expand Up @@ -2244,6 +2246,7 @@
<ClInclude Include="include\Poco\Path_WIN32U.h" />
<ClInclude Include="include\Poco\PatternFormatter.h" />
<ClInclude Include="include\Poco\PBKDF2Engine.h" />
<ClInclude Include="include\Poco\PIDFile.h" />
<ClInclude Include="include\Poco\Pipe.h" />
<ClInclude Include="include\Poco\PipeImpl.h" />
<ClInclude Include="include\Poco\PipeImpl_DUMMY.h" />
Expand All @@ -2262,6 +2265,7 @@
<ClInclude Include="include\Poco\Process.h" />
<ClInclude Include="include\Poco\Process_UNIX.h" />
<ClInclude Include="include\Poco\Process_WIN32U.h" />
<ClInclude Include="include\Poco\ProcessRunner.h" />
<ClInclude Include="include\Poco\PurgeStrategy.h" />
<ClInclude Include="include\Poco\Random.h" />
<ClInclude Include="include\Poco\RandomStream.h" />
Expand Down
12 changes: 12 additions & 0 deletions Foundation/Foundation_vs170.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,9 @@
<ClCompile Include="src\NamedMutex_WIN32U.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PIDFile.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Pipe.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -669,6 +672,9 @@
<ClCompile Include="src\Process_WIN32U.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ProcessRunner.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SharedMemory.cpp">
<Filter>Processes\Source Files</Filter>
</ClCompile>
Expand Down Expand Up @@ -1514,6 +1520,9 @@
<ClInclude Include="include\Poco\NamedMutex_WIN32U.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\PIDFile.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Pipe.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
Expand Down Expand Up @@ -1541,6 +1550,9 @@
<ClInclude Include="include\Poco\Process_WIN32U.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\ProcessRunner.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\SharedMemory.h">
<Filter>Processes\Header Files</Filter>
</ClInclude>
Expand Down
2 changes: 1 addition & 1 deletion Foundation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ objects = ArchiveStrategy Ascii ASCIIEncoding AsyncChannel ActiveThreadPool\
NestedDiagnosticContext Notification NotificationCenter \
NotificationQueue PriorityNotificationQueue TimedNotificationQueue \
NullStream NumberFormatter NumberParser NumericString AbstractObserver \
Path PatternFormatter Process PurgeStrategy RWLock Random RandomStream \
Path PatternFormatter PIDFile Process ProcessRunner PurgeStrategy RWLock Random RandomStream \
DirectoryIteratorStrategy RegularExpression RefCountedObject Runnable RotateStrategy \
SHA1Engine SHA2Engine Semaphore SharedLibrary SimpleFileChannel \
SignalHandler SplitterChannel SortedDirectoryIterator Stopwatch StreamChannel \
Expand Down
Loading

0 comments on commit 9f4c068

Please sign in to comment.