lidavidm commented on PR #36517: URL: https://github.com/apache/arrow/pull/36517#issuecomment-1638873952
Antoine, I have an email notification but I don't see your message, but for clarification, "drop ourselves" here means the `flight::internal::ClientTransport::SetAsyncRpc(listener.get(), nullptr);` line, which causes the `UnaryUnaryAsyncCall` to be destructed; it looks like gRPC doesn't like us doing this (only on macOS?) because we are appear to be running on a gRPC thread at the time (I wonder if on macOS, a thread is spawned for each async call instead of using a pool?) - I'll have to look into what happens on macOS It's not strictly necessary to make that call anyways (once the client drops the Listener, the `UnaryUnaryAsyncCall` will get dropped with it since it's stored as a unique_ptr inside the Listener) - but if the client doesn't retain the listener, then when we drop our reference to the listener, we'll end up destructing ourselves _anyways_. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
