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 HANDLE
s
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.