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

Side by Side Diff: sdk/lib/io/process.dart

Issue 2822943002: [dart:io] Adds ProcessInfo.{max,current}Rss. Adds OS::MaxRSS on Fuchsia. (Closed)
Patch Set: Fix Fuchsia build Created 3 years, 8 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 part of dart.io; 5 part of dart.io;
6 6
7 // TODO(ager): The only reason for this class is that we 7 // TODO(ager): The only reason for this class is that we
8 // cannot patch a top-level at this point. 8 // cannot patch a top-level at this point.
9 class _ProcessUtils { 9 class _ProcessUtils {
10 external static void _exit(int status); 10 external static void _exit(int status);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 } 93 }
94 _ProcessUtils._sleep(milliseconds); 94 _ProcessUtils._sleep(milliseconds);
95 } 95 }
96 96
97 /** 97 /**
98 * Returns the PID of the current process. 98 * Returns the PID of the current process.
99 */ 99 */
100 int get pid => _ProcessUtils._pid(null); 100 int get pid => _ProcessUtils._pid(null);
101 101
102 /** 102 /**
103 * [ProcessInfo] provides methods for retrieving information about the
104 * current process.
105 */
106 class ProcessInfo {
107 /**
108 * The current resident set size of memory for the process.
109 *
110 * Note that the meaning of this field is platform dependent. For example,
111 * some memory acounted for here may be shared with other processes, or if
112 * the same page is mapped into a process's address space, it may be counted
113 * twice.
114 */
115 external static int get currentRss;
116
117 /**
118 * The high-watermark in bytes for the resident set size of memory for the
119 * process.
120 *
121 * Note that the meaning of this field is platform dependent. For example,
122 * some memory acounted for here may be shared with other processes, or if
123 * the same page is mapped into a process's address space, it may be counted
124 * twice.
125 */
126 external static int get maxRss;
127 }
128
129 /**
103 * Modes for running a new process. 130 * Modes for running a new process.
104 */ 131 */
105 enum ProcessStartMode { 132 enum ProcessStartMode {
106 /// Normal child process. 133 /// Normal child process.
107 NORMAL, 134 NORMAL,
108 135
109 /// Detached child process with no open communication channel. 136 /// Detached child process with no open communication channel.
110 DETACHED, 137 DETACHED,
111 138
112 /// Detached child process with stdin, stdout and stderr still open 139 /// Detached child process with stdin, stdout and stderr still open
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 final int errorCode; 593 final int errorCode;
567 594
568 const ProcessException(this.executable, this.arguments, 595 const ProcessException(this.executable, this.arguments,
569 [this.message = "", this.errorCode = 0]); 596 [this.message = "", this.errorCode = 0]);
570 String toString() { 597 String toString() {
571 var msg = (message == null) ? 'OS error code: $errorCode' : message; 598 var msg = (message == null) ? 'OS error code: $errorCode' : message;
572 var args = arguments.join(' '); 599 var args = arguments.join(' ');
573 return "ProcessException: $msg\n Command: $executable $args"; 600 return "ProcessException: $msg\n Command: $executable $args";
574 } 601 }
575 } 602 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698