mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
25 lines
913 B
Dart
25 lines
913 B
Dart
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
import '../base/io.dart';
|
|
|
|
/// A mixin for tracking additional PIDs that can be shut down at the end of a debug session.
|
|
///
|
|
/// Adapted from package:dds/src/dap/adapters/mixins.dart to use Flutter's
|
|
/// dart:io wrappers.
|
|
mixin PidTracker {
|
|
/// Process IDs to terminate during shutdown.
|
|
///
|
|
/// This may be populated with pids from the VM Service to ensure we clean up
|
|
/// properly where signals may not be passed through the shell to the
|
|
/// underlying VM process.
|
|
/// https://github.com/Dart-Code/Dart-Code/issues/907
|
|
final Set<int> pidsToTerminate = <int>{};
|
|
|
|
/// Terminates all processes with the PIDs registered in [pidsToTerminate].
|
|
void terminatePids(ProcessSignal signal) {
|
|
pidsToTerminate.forEach(signal.send);
|
|
}
|
|
}
|