OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 #ifndef BIN_PROCESS_H_ | 5 #ifndef BIN_PROCESS_H_ |
6 #define BIN_PROCESS_H_ | 6 #define BIN_PROCESS_H_ |
7 | 7 |
8 #include "bin/builtin.h" | 8 #include "bin/builtin.h" |
9 #include "bin/io_buffer.h" | 9 #include "bin/io_buffer.h" |
10 #include "bin/lockers.h" | 10 #include "bin/lockers.h" |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 static int global_exit_code_; | 141 static int global_exit_code_; |
142 static Mutex* global_exit_code_mutex_; | 142 static Mutex* global_exit_code_mutex_; |
143 | 143 |
144 DISALLOW_ALLOCATION(); | 144 DISALLOW_ALLOCATION(); |
145 DISALLOW_IMPLICIT_CONSTRUCTORS(Process); | 145 DISALLOW_IMPLICIT_CONSTRUCTORS(Process); |
146 }; | 146 }; |
147 | 147 |
148 | 148 |
149 class SignalInfo { | 149 class SignalInfo { |
150 public: | 150 public: |
151 SignalInfo(int fd, int signal, SignalInfo* next) | 151 SignalInfo(intptr_t fd, intptr_t signal, SignalInfo* next) |
152 : fd_(fd), | 152 : fd_(fd), |
153 signal_(signal), | 153 signal_(signal), |
154 // SignalInfo is expected to be created when in a isolate. | 154 // SignalInfo is expected to be created when in a isolate. |
155 port_(Dart_GetMainPortId()), | 155 port_(Dart_GetMainPortId()), |
156 next_(next), | 156 next_(next), |
157 prev_(NULL) { | 157 prev_(NULL) { |
158 if (next_ != NULL) { | 158 if (next_ != NULL) { |
159 next_->prev_ = this; | 159 next_->prev_ = this; |
160 } | 160 } |
161 } | 161 } |
162 | 162 |
163 ~SignalInfo(); | 163 ~SignalInfo(); |
164 | 164 |
165 void Unlink() { | 165 void Unlink() { |
166 if (prev_ != NULL) { | 166 if (prev_ != NULL) { |
167 prev_->next_ = next_; | 167 prev_->next_ = next_; |
168 } | 168 } |
169 if (next_ != NULL) { | 169 if (next_ != NULL) { |
170 next_->prev_ = prev_; | 170 next_->prev_ = prev_; |
171 } | 171 } |
172 } | 172 } |
173 | 173 |
174 int fd() const { return fd_; } | 174 intptr_t fd() const { return fd_; } |
175 int signal() const { return signal_; } | 175 intptr_t signal() const { return signal_; } |
176 Dart_Port port() const { return port_; } | 176 Dart_Port port() const { return port_; } |
177 SignalInfo* next() const { return next_; } | 177 SignalInfo* next() const { return next_; } |
178 | 178 |
179 private: | 179 private: |
180 int fd_; | 180 intptr_t fd_; |
181 int signal_; | 181 intptr_t signal_; |
182 // The port_ is used to identify what isolate the signal-info belongs to. | 182 // The port_ is used to identify what isolate the signal-info belongs to. |
183 Dart_Port port_; | 183 Dart_Port port_; |
184 SignalInfo* next_; | 184 SignalInfo* next_; |
185 SignalInfo* prev_; | 185 SignalInfo* prev_; |
186 }; | 186 }; |
187 | 187 |
188 | 188 |
189 // Utility class for collecting the output when running a process | 189 // Utility class for collecting the output when running a process |
190 // synchronously by using Process::Wait. This class is sub-classed in | 190 // synchronously by using Process::Wait. This class is sub-classed in |
191 // the platform specific files to implement reading into the buffers | 191 // the platform specific files to implement reading into the buffers |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 intptr_t data_size_; | 284 intptr_t data_size_; |
285 | 285 |
286 // Number of free bytes in the last node in the list. | 286 // Number of free bytes in the last node in the list. |
287 intptr_t free_size_; | 287 intptr_t free_size_; |
288 }; | 288 }; |
289 | 289 |
290 } // namespace bin | 290 } // namespace bin |
291 } // namespace dart | 291 } // namespace dart |
292 | 292 |
293 #endif // BIN_PROCESS_H_ | 293 #endif // BIN_PROCESS_H_ |
OLD | NEW |