Mike Gelfand 0425866486 Allow for process termination when polling with isRunning
On *NIX, one needs to call `waitpid()` in order for process to exit the
zombie state. If one uses `Process::isRunning()` to emulate non-blocking
wait for child process termination, process will stay zombie and function
will always return true.

This commit changes `Process::isRunning()` to call `waitpid()` with
`WNOHANG` instead of using `kill()` when checking for child process (i.e.
the one we have ProcessHandle for), which allows for process termination.
Additional trickery with mutex and event is needed to prevent exceptions
when `Process::isRunning()` and/or `Process::wait()` is called concurrently
on the same handle from different threads.

Fixes #1097.
2016-01-09 02:36:55 +03:00
2015-12-15 21:08:26 +01:00
2015-12-11 11:40:43 +01:00
2015-12-19 17:15:55 +01:00
2015-12-13 12:37:49 +01:00
2015-12-19 17:15:55 +01:00
2015-12-19 17:15:55 +01:00
2015-12-12 19:41:28 -06:00
2015-12-29 21:36:21 +01:00
2012-04-23 01:14:34 +00:00
2015-12-19 17:15:55 +01:00
2015-12-01 20:13:11 +01:00
2015-12-19 17:15:55 +01:00
2015-12-19 17:15:55 +01:00
2012-11-11 11:20:31 +01:00
2015-12-19 15:22:12 +01:00
2015-12-27 13:15:55 +01:00
2012-04-23 01:14:34 +00:00
2015-12-08 11:35:09 +01:00
fix
2015-03-08 22:58:32 +03:00
2012-12-26 18:30:52 -06:00
2012-12-26 18:30:52 -06:00
2012-12-26 18:30:52 -06:00
2015-12-21 23:58:56 +01:00
2015-12-17 07:13:17 +01:00
2015-04-20 20:32:55 -05:00
2015-09-05 09:32:49 -05:00
2015-03-29 11:15:47 +02:00
2015-05-18 20:50:10 -05:00
2015-03-29 11:15:47 +02:00
2012-04-23 01:14:34 +00:00
2015-07-18 12:53:05 -07:00
2015-03-29 11:15:47 +02:00

POCO C++ Libraries

Build Status

  • Travis: Travis Build Status
  • AppVeyor: AppVeyor Build Status
  • biicode: Build Status

alt text

POrtable COmponents C++ Libraries are:

  • A collection of C++ class libraries, conceptually similar to the Java Class Library, the .NET Framework or Apples Cocoa.
  • Focused on solutions to frequently-encountered practical problems.
  • Focused on internet-age network-centric applications.
  • Written in efficient, modern, 100% ANSI/ISO Standard C++.
  • Based on and complementing the C++ Standard Library/STL.
  • Highly portable and available on many different platforms.
  • Open Source, licensed under the Boost Software License.

To start using POCO, see the Guided Tour and Getting Started documents.


POCO has an active user and contributing community, please visit our web site, forum and blog. Answers to POCO-related questions can also be found on Stack Overflow.


In regards to Boost, in spite of some functional overlapping, POCO is best thought of as a Boost complement (rather than replacement). Side-by-side use of Boost and POCO is a very common occurrence.

When contributing to POCO, please adhere to our guidelines.

All text file line endings in the repository must be Unix-style (LF). This includes Visual Studio project and solution files (.sln, .vcproj, .vcxproj, .vcxproj.filters).

Languages
C 50.8%
C++ 47.8%
CMake 0.5%
Makefile 0.2%
JavaScript 0.2%
Other 0.3%