Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(235)

Side by Side Diff: runtime/bin/process_patch.dart

Issue 3001963002: [dart:io] Namespaces for file IO (Closed)
Patch Set: Fuchsia fix Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/bin/process_macos.cc ('k') | runtime/bin/process_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 @patch 5 @patch
6 class _WindowsCodePageDecoder { 6 class _WindowsCodePageDecoder {
7 @patch 7 @patch
8 static String _decodeBytes(List<int> bytes) native "SystemEncodingToString"; 8 static String _decodeBytes(List<int> bytes) native "SystemEncodingToString";
9 } 9 }
10 10
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 Future<Process> _start() { 385 Future<Process> _start() {
386 var completer = new Completer(); 386 var completer = new Completer();
387 if (_mode == ProcessStartMode.NORMAL) { 387 if (_mode == ProcessStartMode.NORMAL) {
388 _exitCode = new Completer<int>(); 388 _exitCode = new Completer<int>();
389 } 389 }
390 // TODO(ager): Make the actual process starting really async instead of 390 // TODO(ager): Make the actual process starting really async instead of
391 // simulating it with a timer. 391 // simulating it with a timer.
392 Timer.run(() { 392 Timer.run(() {
393 var status = new _ProcessStartStatus(); 393 var status = new _ProcessStartStatus();
394 bool success = _startNative( 394 bool success = _startNative(
395 _Namespace._namespace,
395 _path, 396 _path,
396 _arguments, 397 _arguments,
397 _workingDirectory, 398 _workingDirectory,
398 _environment, 399 _environment,
399 _mode.index, 400 _mode.index,
400 _mode == ProcessStartMode.DETACHED 401 _mode == ProcessStartMode.DETACHED
401 ? null 402 ? null
402 : _stdin._sink._nativeSocket, 403 : _stdin._sink._nativeSocket,
403 _mode == ProcessStartMode.DETACHED 404 _mode == ProcessStartMode.DETACHED
404 ? null 405 ? null
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 451
451 completer.complete(this); 452 completer.complete(this);
452 }); 453 });
453 return completer.future; 454 return completer.future;
454 } 455 }
455 456
456 ProcessResult _runAndWait(Encoding stdoutEncoding, Encoding stderrEncoding) { 457 ProcessResult _runAndWait(Encoding stdoutEncoding, Encoding stderrEncoding) {
457 var status = new _ProcessStartStatus(); 458 var status = new _ProcessStartStatus();
458 _exitCode = new Completer<int>(); 459 _exitCode = new Completer<int>();
459 bool success = _startNative( 460 bool success = _startNative(
461 _Namespace._namespace,
460 _path, 462 _path,
461 _arguments, 463 _arguments,
462 _workingDirectory, 464 _workingDirectory,
463 _environment, 465 _environment,
464 ProcessStartMode.NORMAL.index, 466 ProcessStartMode.NORMAL.index,
465 _stdin._sink._nativeSocket, 467 _stdin._sink._nativeSocket,
466 _stdout._stream._nativeSocket, 468 _stdout._stream._nativeSocket,
467 _stderr._stream._nativeSocket, 469 _stderr._stream._nativeSocket,
468 _exitHandler._nativeSocket, 470 _exitHandler._nativeSocket,
469 status); 471 status);
(...skipping 18 matching lines...) Expand all
488 _resourceInfo.stopped(); 490 _resourceInfo.stopped();
489 491
490 return new ProcessResult( 492 return new ProcessResult(
491 result[0], 493 result[0],
492 result[1], 494 result[1],
493 getOutput(result[2], stdoutEncoding), 495 getOutput(result[2], stdoutEncoding),
494 getOutput(result[3], stderrEncoding)); 496 getOutput(result[3], stderrEncoding));
495 } 497 }
496 498
497 bool _startNative( 499 bool _startNative(
500 _Namespace namespace,
498 String path, 501 String path,
499 List<String> arguments, 502 List<String> arguments,
500 String workingDirectory, 503 String workingDirectory,
501 List<String> environment, 504 List<String> environment,
502 int mode, 505 int mode,
503 _NativeSocket stdin, 506 _NativeSocket stdin,
504 _NativeSocket stdout, 507 _NativeSocket stdout,
505 _NativeSocket stderr, 508 _NativeSocket stderr,
506 _NativeSocket exitHandler, 509 _NativeSocket exitHandler,
507 _ProcessStartStatus status) native "Process_Start"; 510 _ProcessStartStatus status) native "Process_Start";
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 var process = new _ProcessImpl( 614 var process = new _ProcessImpl(
612 executable, 615 executable,
613 arguments, 616 arguments,
614 workingDirectory, 617 workingDirectory,
615 environment, 618 environment,
616 includeParentEnvironment, 619 includeParentEnvironment,
617 runInShell, 620 runInShell,
618 ProcessStartMode.NORMAL); 621 ProcessStartMode.NORMAL);
619 return process._runAndWait(stdoutEncoding, stderrEncoding); 622 return process._runAndWait(stdoutEncoding, stderrEncoding);
620 } 623 }
OLDNEW
« no previous file with comments | « runtime/bin/process_macos.cc ('k') | runtime/bin/process_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698