[dart] zx_channel_write always consumes handles
Previously, zx_channel_write would consume handles only on success. Now,
the function always consumes them.
Test: No behavior change
Change-Id: I8607505334d0522898cb43ad371002e8d1a21f00
diff --git a/public/dart-pkg/zircon/sdk_ext/system.cc b/public/dart-pkg/zircon/sdk_ext/system.cc
index 243f9a5..b19ca12 100644
--- a/public/dart-pkg/zircon/sdk_ext/system.cc
+++ b/public/dart-pkg/zircon/sdk_ext/system.cc
@@ -202,11 +202,9 @@
zx_status_t status = zx_channel_write(channel->handle(), 0, data.data(),
data.length_in_bytes(),
zx_handles.data(), zx_handles.size());
- if (status == ZX_OK) {
- // Handles were transferred.
- for (Handle* handle : handles) {
- handle->ReleaseHandle();
- }
+ // Handles are always consumed.
+ for (Handle* handle : handles) {
+ handle->ReleaseHandle();
}
return status;