| Index: src/trusted/nonnacl_util/win/sel_ldr_launcher_win.cc
|
| ===================================================================
|
| --- src/trusted/nonnacl_util/win/sel_ldr_launcher_win.cc (revision 6725)
|
| +++ src/trusted/nonnacl_util/win/sel_ldr_launcher_win.cc (working copy)
|
| @@ -26,6 +26,15 @@
|
| SelLdrLauncher::~SelLdrLauncher() {
|
| CloseHandlesAfterLaunch();
|
| if (kInvalidHandle != child_process_) {
|
| + // Ensure child process (service runtime) is kaput. NB: we might
|
| + // close the command channel (or use the hard_shutdown RPC) rather
|
| + // than killing the process to allow the service runtime to do
|
| + // clean up, but the plugin should be responsible for that and we
|
| + // shouldn't introduce any timeout wait in a dtor. Currently,
|
| + // ServiceRuntime::Shutdown kills the subprocess before closing
|
| + // the command channel, so we aren't providing the opportunity for
|
| + // a more graceful shutdown.
|
| + KillChildProcess();
|
| CloseHandle(child_process_);
|
| }
|
| if (kInvalidHandle != channel_) {
|
|
|