bind_stderr.hpp
Go to the documentation of this file.
1
// Copyright (c) 2006, 2007 Julio M. Merino Vidal
2
// Copyright (c) 2008 Ilya Sokolov, Boris Schaeling
3
// Copyright (c) 2009 Boris Schaeling
4
// Copyright (c) 2010 Felipe Tanus, Boris Schaeling
5
// Copyright (c) 2011, 2012 Jeff Flinn, Boris Schaeling
6
//
7
// Distributed under the Boost Software License, Version 1.0. (See accompanying
8
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
10
#pragma once
11
12
#include <boost/iostreams/device/file_descriptor.hpp>
13
#include <
boost/process/windows/initializers/initializer_base.hpp
>
14
15
#include <Windows.h>
16
17
namespace
boost::process::windows::initializers
18
{
19
20
class
bind_stderr
:
public
initializer_base
21
{
22
public
:
23
explicit
bind_stderr
(
const
boost::iostreams::file_descriptor_sink& sink) : sink_(sink)
24
{
25
}
26
27
template
<
class
WindowsExecutor>
28
void
29
on_CreateProcess_setup
(WindowsExecutor& e)
const
30
{
31
::SetHandleInformation(sink_.handle(), HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
32
e.startup_info.hStdError = sink_.handle();
33
e.startup_info.dwFlags |= STARTF_USESTDHANDLES;
34
e.inherit_handles =
true
;
35
}
36
37
private
:
38
boost::iostreams::file_descriptor_sink sink_;
39
};
40
41
}
// namespace boost::process::windows::initializers
boost::process::windows::initializers::bind_stderr::bind_stderr
bind_stderr(const boost::iostreams::file_descriptor_sink &sink)
Definition
bind_stderr.hpp:23
boost::process::windows::initializers::bind_stderr::on_CreateProcess_setup
void on_CreateProcess_setup(WindowsExecutor &e) const
Definition
bind_stderr.hpp:29
boost::process::windows::initializers
Definition
bind_stderr.hpp:18
boost::process::windows::initializers::initializer_base
Definition
initializer_base.hpp:16
initializer_base.hpp
boost
process
windows
initializers
bind_stderr.hpp
Generated by
1.13.2