boostorg / boostorg/process

abort if used with boost::asio::spawn()

Open
#195 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
145
Forks
151
PR merge metrics
No merged PRs in 30d

Description

After upgrade from 1.68 to 1.75 an abort is sometimes triggered.
boost::process:child is used together with boost::asio:spawn() - sometimes a stackful coroutine that represents the child is sometimes resumed while it is already running.
This is caused by using boost::asio::dispatch() instead of boost::asio:post() inside boost::process::detail::posix::sigchld_service::async_wait().
docu: "The function object may be called from the current thread prior to returning from dispatch(). Otherwise, it is queued for execution."

If agreed I'd like to provide a pull-request.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.