| Index: runtime/bin/process.cc
|
| diff --git a/runtime/bin/process.cc b/runtime/bin/process.cc
|
| index 290174964cd625da412f0c24ffade38192de9ded..fec860966a43ad078ef2f27be2440c4c0b42663c 100644
|
| --- a/runtime/bin/process.cc
|
| +++ b/runtime/bin/process.cc
|
| @@ -7,6 +7,7 @@
|
| #include "bin/dartutils.h"
|
| #include "bin/io_buffer.h"
|
| #include "bin/log.h"
|
| +#include "bin/namespace.h"
|
| #include "bin/platform.h"
|
| #include "bin/socket.h"
|
| #include "bin/utils.h"
|
| @@ -82,12 +83,13 @@ void FUNCTION_NAME(Process_Start)(Dart_NativeArguments args) {
|
| intptr_t process_stdout;
|
| intptr_t process_stderr;
|
| intptr_t exit_event;
|
| - Dart_Handle result;
|
| - Dart_Handle status_handle = Dart_GetNativeArgument(args, 10);
|
| - Dart_Handle path_handle = Dart_GetNativeArgument(args, 1);
|
| + Namespace* namespc = Namespace::GetNamespace(args, 1);
|
| + Dart_Handle status_handle = Dart_GetNativeArgument(args, 11);
|
| + Dart_Handle path_handle = Dart_GetNativeArgument(args, 2);
|
| // The Dart code verifies that the path implements the String
|
| // interface. However, only builtin Strings are handled by
|
| // GetStringValue.
|
| + Dart_Handle result;
|
| if (!Dart_IsString(path_handle)) {
|
| result = DartUtils::SetIntegerField(status_handle, "_errorCode", 0);
|
| if (Dart_IsError(result)) {
|
| @@ -98,20 +100,20 @@ void FUNCTION_NAME(Process_Start)(Dart_NativeArguments args) {
|
| if (Dart_IsError(result)) {
|
| Dart_PropagateError(result);
|
| }
|
| - Dart_SetReturnValue(args, Dart_NewBoolean(false));
|
| + Dart_SetBooleanReturnValue(args, false);
|
| return;
|
| }
|
| const char* path = DartUtils::GetStringValue(path_handle);
|
| - Dart_Handle arguments = Dart_GetNativeArgument(args, 2);
|
| + Dart_Handle arguments = Dart_GetNativeArgument(args, 3);
|
| intptr_t args_length = 0;
|
| char** string_args =
|
| ExtractCStringList(arguments, status_handle,
|
| "Arguments must be builtin strings", &args_length);
|
| if (string_args == NULL) {
|
| - Dart_SetReturnValue(args, Dart_NewBoolean(false));
|
| + Dart_SetBooleanReturnValue(args, false);
|
| return;
|
| }
|
| - Dart_Handle working_directory_handle = Dart_GetNativeArgument(args, 3);
|
| + Dart_Handle working_directory_handle = Dart_GetNativeArgument(args, 4);
|
| // Defaults to the current working directoy.
|
| const char* working_directory = NULL;
|
| if (Dart_IsString(working_directory_handle)) {
|
| @@ -127,10 +129,10 @@ void FUNCTION_NAME(Process_Start)(Dart_NativeArguments args) {
|
| if (Dart_IsError(result)) {
|
| Dart_PropagateError(result);
|
| }
|
| - Dart_SetReturnValue(args, Dart_NewBoolean(false));
|
| + Dart_SetBooleanReturnValue(args, false);
|
| return;
|
| }
|
| - Dart_Handle environment = Dart_GetNativeArgument(args, 4);
|
| + Dart_Handle environment = Dart_GetNativeArgument(args, 5);
|
| intptr_t environment_length = 0;
|
| char** string_environment = NULL;
|
| if (!Dart_IsNull(environment)) {
|
| @@ -143,18 +145,19 @@ void FUNCTION_NAME(Process_Start)(Dart_NativeArguments args) {
|
| }
|
| }
|
| int64_t mode =
|
| - DartUtils::GetInt64ValueCheckRange(Dart_GetNativeArgument(args, 5), 0, 2);
|
| - Dart_Handle stdin_handle = Dart_GetNativeArgument(args, 6);
|
| - Dart_Handle stdout_handle = Dart_GetNativeArgument(args, 7);
|
| - Dart_Handle stderr_handle = Dart_GetNativeArgument(args, 8);
|
| - Dart_Handle exit_handle = Dart_GetNativeArgument(args, 9);
|
| + DartUtils::GetInt64ValueCheckRange(Dart_GetNativeArgument(args, 6), 0, 2);
|
| + Dart_Handle stdin_handle = Dart_GetNativeArgument(args, 7);
|
| + Dart_Handle stdout_handle = Dart_GetNativeArgument(args, 8);
|
| + Dart_Handle stderr_handle = Dart_GetNativeArgument(args, 9);
|
| + Dart_Handle exit_handle = Dart_GetNativeArgument(args, 10);
|
| intptr_t pid = -1;
|
| char* os_error_message = NULL; // Scope allocated by Process::Start.
|
|
|
| int error_code = Process::Start(
|
| - path, string_args, args_length, working_directory, string_environment,
|
| - environment_length, static_cast<ProcessStartMode>(mode), &process_stdout,
|
| - &process_stdin, &process_stderr, &pid, &exit_event, &os_error_message);
|
| + namespc, path, string_args, args_length, working_directory,
|
| + string_environment, environment_length,
|
| + static_cast<ProcessStartMode>(mode), &process_stdout, &process_stdin,
|
| + &process_stderr, &pid, &exit_event, &os_error_message);
|
| if (error_code == 0) {
|
| if (mode != kDetached) {
|
| Socket::SetSocketIdNativeField(stdin_handle, process_stdin,
|
| @@ -183,7 +186,7 @@ void FUNCTION_NAME(Process_Start)(Dart_NativeArguments args) {
|
| Dart_PropagateError(result);
|
| }
|
| }
|
| - Dart_SetReturnValue(args, Dart_NewBoolean(error_code == 0));
|
| + Dart_SetBooleanReturnValue(args, error_code == 0);
|
| }
|
|
|
| void FUNCTION_NAME(Process_Wait)(Dart_NativeArguments args) {
|
| @@ -233,7 +236,7 @@ void FUNCTION_NAME(Process_KillPid)(Dart_NativeArguments args) {
|
| intptr_t pid = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 0));
|
| intptr_t signal = DartUtils::GetIntptrValue(Dart_GetNativeArgument(args, 1));
|
| bool success = Process::Kill(pid, signal);
|
| - Dart_SetReturnValue(args, Dart_NewBoolean(success));
|
| + Dart_SetBooleanReturnValue(args, success);
|
| }
|
|
|
| void FUNCTION_NAME(Process_Exit)(Dart_NativeArguments args) {
|
| @@ -253,7 +256,7 @@ void FUNCTION_NAME(Process_SetExitCode)(Dart_NativeArguments args) {
|
| }
|
|
|
| void FUNCTION_NAME(Process_GetExitCode)(Dart_NativeArguments args) {
|
| - Dart_SetReturnValue(args, Dart_NewInteger(Process::GlobalExitCode()));
|
| + Dart_SetIntegerReturnValue(args, Process::GlobalExitCode());
|
| }
|
|
|
| void FUNCTION_NAME(Process_Sleep)(Dart_NativeArguments args) {
|
| @@ -273,7 +276,7 @@ void FUNCTION_NAME(Process_Pid)(Dart_NativeArguments args) {
|
| } else {
|
| Process::GetProcessIdNativeField(process, &pid);
|
| }
|
| - Dart_SetReturnValue(args, Dart_NewInteger(pid));
|
| + Dart_SetIntegerReturnValue(args, pid);
|
| }
|
|
|
| void FUNCTION_NAME(Process_SetSignalHandler)(Dart_NativeArguments args) {
|
| @@ -282,7 +285,7 @@ void FUNCTION_NAME(Process_SetSignalHandler)(Dart_NativeArguments args) {
|
| if (id == -1) {
|
| Dart_SetReturnValue(args, DartUtils::NewDartOSError());
|
| } else {
|
| - Dart_SetReturnValue(args, Dart_NewInteger(id));
|
| + Dart_SetIntegerReturnValue(args, id);
|
| }
|
| }
|
|
|
|
|