Slava Egorov
8b6e39696f
[vm/io] Avoid leaking Handle::data_ready_ on Windows.
...
Handle::data_ready_ contains bytes which are ready to be sent to Dart
side. Not all code paths fully drain this buffer and delete it
before destroying the handle, for example directory watch implementation
was prone to leaking data_ready_ when subscription was cancelled.
This CL switches the code to use unique_ptr to hold on to data_ready_
which makes sure that it is deleted when Handle is destroyed.
The code would benefit from holding all OverlappedBuffer instances
through unique_ptr but that is a much larger refactoring which
we leave for a later date.
Fixes https://github.com/dart-lang/sdk/issues/52715
TEST=standalone{,_2}/regress_52715_test
Bug: 52715
Cq-Include-Trybots: luci.dart.try:vm-win-release-x64-try,vm-win-debug-x64-try,vm-aot-win-release-x64-try,analyzer-win-release-try
Change-Id: Ie8d728b823de7e8f9de1489898e270580c2af269
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311841
Commit-Queue: Slava Egorov <vegorov@google.com >
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Auto-Submit: Slava Egorov <vegorov@google.com >
2023-06-28 13:06:51 +00:00
..
2023-06-28 01:00:18 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 01:11:05 +00:00
2021-12-24 06:44:34 +00:00
2023-06-20 19:28:18 +00:00
2023-06-20 19:28:18 +00:00
2023-04-12 01:11:05 +00:00
2022-03-10 23:48:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2022-05-31 15:36:33 +00:00
2023-04-12 20:32:29 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-05-31 09:50:45 +00:00
2022-12-13 15:28:19 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2023-06-12 19:31:38 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 01:11:05 +00:00
2023-05-11 03:14:27 +00:00
2021-09-02 14:14:35 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-05-02 07:32:30 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-05-02 07:32:30 +00:00
2023-05-02 07:32:30 +00:00
2023-01-25 14:08:27 +00:00
2023-06-28 13:06:51 +00:00
2023-06-28 13:06:51 +00:00
2023-04-12 01:11:05 +00:00
2023-05-02 07:32:30 +00:00
2023-04-12 01:11:05 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2023-01-06 07:48:22 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2021-07-02 19:06:45 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-05-09 03:27:58 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2023-06-20 19:28:18 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-18 20:56:00 +00:00
2022-09-01 20:36:12 +00:00
2023-06-07 09:49:35 +00:00
2022-09-13 21:16:28 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2021-09-02 14:14:35 +00:00
2023-04-12 01:11:05 +00:00
2023-06-20 19:28:18 +00:00
2023-01-16 15:12:38 +00:00
2023-04-12 01:11:05 +00:00
2023-04-20 18:16:09 +00:00
2023-01-16 15:12:38 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2021-07-02 19:06:45 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-06-20 19:28:18 +00:00
2023-04-12 01:11:05 +00:00
2021-10-19 21:25:43 +00:00
2021-10-19 21:25:43 +00:00
2023-04-12 01:11:05 +00:00
2023-06-21 16:57:49 +00:00
2023-04-12 01:11:05 +00:00
2023-06-20 19:28:18 +00:00
2023-04-12 20:32:29 +00:00
2023-06-14 01:38:34 +00:00
2023-04-12 20:32:29 +00:00
2023-06-19 00:25:12 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-06-20 19:28:18 +00:00
2023-04-25 16:06:12 +00:00
2023-04-12 20:32:29 +00:00
2022-03-31 06:40:51 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-18 19:55:03 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2022-08-17 16:18:35 +00:00
2023-04-12 20:32:29 +00:00
2022-03-24 10:08:01 +00:00
2023-04-12 01:11:05 +00:00
2023-06-08 13:17:28 +00:00
2023-06-08 13:17:28 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-06-08 13:17:28 +00:00
2023-06-07 19:32:49 +00:00
2023-06-09 08:29:30 +00:00
2023-06-08 13:17:28 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-06-07 09:49:35 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 01:11:05 +00:00
2022-05-31 15:36:33 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2022-05-31 15:36:33 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2021-07-02 19:06:45 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00
2022-03-09 18:02:34 +00:00
2023-04-12 01:11:05 +00:00
2022-03-21 16:47:47 +00:00
2023-04-12 01:11:05 +00:00
2022-03-21 16:47:47 +00:00
2023-04-12 01:11:05 +00:00
2022-03-21 16:47:47 +00:00
2023-04-12 01:11:05 +00:00
2022-03-21 16:47:47 +00:00
2023-04-12 01:11:05 +00:00
2022-03-21 16:47:47 +00:00
2023-04-12 01:11:05 +00:00
2022-03-21 16:47:47 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 01:11:05 +00:00
2021-08-12 21:30:10 +00:00
2023-04-28 18:29:58 +00:00
2021-08-12 21:30:10 +00:00
2023-04-12 01:11:05 +00:00
2023-04-12 20:32:29 +00:00
2023-04-12 20:32:29 +00:00