Klemens David Morgenstern
a25b6ca35b
closes #32
2018-05-26 21:55:07 +02:00
Klemens Morgenstern
35fda5aa6a
Update job_workaround.hpp
2018-04-05 20:12:51 +02:00
Klemens Morgenstern
d47b7f7ac4
Update job_workaround.hpp
2018-04-05 10:08:00 +02:00
Klemens David Morgenstern
c5798fdf7f
added write_some and read_some overloads - closes #35
2018-03-13 10:11:01 +08:00
Klemens David Morgenstern
5e43e7c07c
Merge branch 'develop' of github.com:boostorg/process into develop
2018-03-11 20:58:22 +01:00
Andrey Semashev
900aab5d6d
Switched WINAPI calling convention macros to the replacements from Boost.WinAPI
...
WINAPI macro definition in Boost.WinAPI is deprecated as it may clash with
the macro defined in Windows SDK.
2018-03-11 20:20:49 +03:00
Alex Merry
6625999765
Check the "still running" status code does not clash with WIFSIGNALED
...
This makes the static_assert reflect the actual assumptions in the code.
2018-02-22 14:31:22 +00:00
Alex Merry
0d3688aca5
Ignore stopped processes
...
is_running should only concern itself with terminated processes, not
stopped processes (which might be continued later).
2018-02-22 14:12:46 +00:00
Klemens Morgenstern
40be786c43
Merge pull request #150 from amerry/async-exit-status
...
Return the same exit status in the async handler as the sync method
2018-02-22 13:43:06 +01:00
Klemens Morgenstern
d4a0444223
Merge pull request #147 from amerry/args
...
Always set arguments on POSIX
2018-02-22 13:05:33 +01:00
Alex Merry
ed32531369
Return the same exit status in the async handler as the sync method
...
Previously, if the process terminated via a signal on posix, the async
handler would provide an exit status of 0.
2018-02-22 11:53:42 +00:00
Alex Merry
8aaf53d76d
Always set arguments on POSIX
...
Explicitly specifying an executable (either with boost::filesystem::path
or boost::process::exe) and no arguments causes NULL to be passed as the
argument list.
Not only is this unexpected behaviour for the child process (which
doesn't even have argv[0]), it is not portable across UNIX systems. From
the execve(2) man page on Linux:
"On Linux, either argv or envp can be specified as NULL, which has the
same effect as specifying these arguments as a pointer to a list
containing a single NULL pointer. Do not take advantage of this
misfeature! It is nonstandard and nonportable: on most other UNIX
systems doing this will result in an error (EFAULT)."
2018-02-21 15:43:32 +00:00
Alex Merry
92ee239891
Only reap children we are watching for when handling SIGCHLD
...
There may be other io_context instances with child instances, and child
instances with no associated io_context. If we pass 0 to ::waitpid(), we
will reap their processes as well, without updating the state of the
corresponding child instance.
Instead, we call `::waitpid` once for each child we are watching for.
This has some amount of overhead (multiple system calls), but ensures
correct behaviour (providing nothing other than an asio::signal_set is
watching for SIGCHLD).
2018-02-20 14:32:33 +00:00
Connor Lane Smith
a610fe74ff
Fix search_path not to return directories on POSIX
2018-02-14 13:56:34 +00:00
Markus Tillinger
a55946eb5d
Fix: Inconsistent behaviour in various overloaded functions/methods #139
...
Removed duplicated code in overloaded functions.
Replaced system_clock with steady_clock.
2018-02-08 21:49:49 +01:00
Klemens David Morgenstern
60302c0017
Merge branch 'develop' of github.com:klemens-morgenstern/boost-process into develop
2018-02-06 20:20:18 +01:00
Klemens David Morgenstern
08eaf8b7a1
added BOOST_NO_ANSI_APIS support, closes #26
2018-02-06 20:20:02 +01:00
Klemens Morgenstern
cc70ec9362
Update pipe_in.hpp
2018-02-06 10:29:16 +01:00
Klemens Morgenstern
b58ecc7c9d
Update async_in.hpp
2018-02-06 10:27:16 +01:00
Klemens Morgenstern
668cbcdaf4
Update windows.hpp
2018-02-06 10:23:02 +01:00
Klemens David Morgenstern
6d7cbd0989
closes #83
2018-02-06 00:32:55 +01:00
Klemens David Morgenstern
0764f788a6
typo fix
2018-02-06 00:24:45 +01:00
Klemens David Morgenstern
2b95dd7011
Merge branch 'develop' of github.com:klemens-morgenstern/boost-process into develop
2018-02-06 00:08:26 +01:00
Klemens David Morgenstern
ae380c30ad
added CREATE_NO_WINDOW flags, closes #129
2018-02-06 00:07:35 +01:00
Klemens Morgenstern
d2265890bd
Merge pull request #138 from markus-t314/consistent_wait_handling
...
Fixed inconsistent posix-wait-handling
2018-02-05 23:42:04 +01:00
Klemens Morgenstern
831d49c1b3
Merge pull request #137 from markus-t314/fix_issue136
...
Fix: [posix] inconsistent exit status when child received signal #136
2018-02-05 23:38:59 +01:00
Klemens Morgenstern
6935c53510
Merge pull request #132 from egorpugin/patch-1
...
Fix initialization of atomic var. This fixes mingw build.
2018-02-05 23:34:11 +01:00
Klemens David Morgenstern
f30d90a179
Merge remote-tracking branch 'remotes/boostorg/develop' into develop
2018-02-05 23:32:17 +01:00
Markus Tillinger
342554b3d8
Fixed inconsistent posix-wait-handling
...
Refactored: Removed duplicated code
Made wait_until compatible with steady_clock
2018-02-03 22:11:37 +01:00
Markus Tillinger
7aa812a0e1
Fix: [posix] inconsistent exit status when child received signal #136
2018-02-03 17:47:14 +01:00
hrayrbabajanyan
ba790dad0a
eval_exit_status would return 0 in case if the child received SIBABRT
2018-02-01 02:53:24 +04:00
Adrian Imboden
444d5eb702
fix use of uninitalized variable
2018-01-06 13:36:42 +01:00
Egor Pugin
3e12e989ab
Fix initialization of atomic var. This fixes mingw build.
2018-01-06 14:04:32 +03:00
Klemens Morgenstern
faf848bd8b
Merge pull request #125 from ca-l-eb/fixes
...
Fix async_pipe reassignment and child_decl
2017-11-05 15:39:13 -05:00
Caleb Dechant
d78c7901b3
Revert async_pipe dtor to original
2017-11-05 11:48:20 -08:00
Klemens Morgenstern
09e98d8746
Merge pull request #122 from egorpugin/develop
...
Fix multithreaded async pipes creation.
2017-11-05 13:47:56 -05:00
Egor Pugin
b268e0e1fb
Change atomic var to size_t.
2017-11-05 17:28:42 +03:00
Caleb Dechant
996f4b357c
Fix child_decl's move constructor
...
The _terminated field is now copied from the moved child.
2017-11-04 17:25:00 -07:00
Caleb Dechant
8ce3e760dc
Fix async_pipe move assignment and destructor
...
Simplify async_pipe's move assignment so it now properly closes the old
pipe handles by swapping the asio stream_descriptors.
Reassigning async_pipes previously raised exceptions complaining about
EBADF or EEXIST. I think the ::close calls in the destructor and the
move assignment were not closing the pipe correctly.
2017-11-04 17:22:15 -07:00
Caleb Dechant
337a6e3e83
Fix move assignment for child
...
_terminate field is now copied from the move assingment operator on
child. This fixes the issue that a child process could previously only
be terminated() once (even after reassignment).
2017-11-02 16:03:05 -07:00
klemens-morgenstern
b1f50e953b
some additions attempted fixes for the windows part
2017-10-25 09:07:23 +02:00
klemens-morgenstern
852d8f3d9d
renamed windows/io_service_ref.hpp
2017-10-24 23:54:58 +02:00
klemens-morgenstern
2c026e43a8
removed constness for gcc 4.8
2017-10-24 23:17:42 +02:00
klemens-morgenstern
51396227a0
renamed native() to native_handle()
2017-10-24 23:15:53 +02:00
klemens-morgenstern
75d3049199
Merge branch 'develop' of github.com:klemens-morgenstern/boost-process into develop
2017-10-24 22:36:48 +02:00
Klemens Morgenstern
3d9a8b2353
Merge pull request #22 from Lastique/update_winapi
...
Update Boost.WinAPI usage to the new location and namespace
2017-10-24 16:35:40 -04:00
Andrey Semashev
d9231d466c
Updated Boost.WinAPI usage to the new location and namespace.
2017-10-24 23:27:56 +03:00
Christopher Kohlhoff
153e05eac0
Updates to compile against latest asio.
2017-10-23 21:23:44 +11:00
Klemens Morgenstern
883b6ac937
Merge pull request #15 from ganboing/develop
...
fix uninitialized variable and close(-1) behavior
2017-10-22 15:41:53 -04:00
Klemens Morgenstern
764fff1f65
Merge pull request #17 from gevorgvoskanyan/search_path_unused_var
...
remove unused variable in boost::process::detail::posix::search_path()
2017-10-22 15:35:58 -04:00