This section contains a list of pending items in the library that should
be addressed before it can be sent for a serious/formal review. Some of these
are a simple matter of programming but others will require more consideration
to decide the best way to solve them.
-
Integrate with Boost.Asio
to permit asynchronous notification of child process termination and
availability of new data in output streams.
-
Add the ability to force/request the termination of a child process.
-
Make it possible to specify a timeout when waiting for child processes
to terminate.
-
Parametrize classes that use strings to support wide characters.
-
Make the
detail::launcher_base a public class? It can
be useful to end users if they decide to implement a custom launcher.
-
Replace custom
system_error
with Boost.System's homologous when it is available.
-
Abstract
cstdlib's EXIT_SUCCESS and EXIT_FAILURE.
-
Rename
command_line::argument method; and add operator<<?
-
Make
launcher::start a free function. Need to rename
launcher to context.
-
Make
child::wait return a constant object.
-
Make
status' constructor
private.
-
Remove
command_line::get_arguments.
-
Separate the executable from the
command_line
class into its own object.
-
Allow to retrieve a handle for the current process. Need to reintroduce
the
process class being
a parent of child and
correct the use of Win32 HANDLEs
in the former: they really should be identifiers.
-
Add a Design decisions chapter.
-
Fix links to inherited methods. Don't know which is the best approach
to address this.
-
Add some diagrams to illustrate interprocess communication.
-
Shorten "Motivation" section?
-
command_line's constructor:
rename firstarg parameter
to avoid confusion with subsequent parameters.
-
When process identifiers are fixed under Win32, document that process
identifiers are integral types.