We observed that in some bad cases our grpc_async_adapter shutdown logic hangs forever, waiting for a notification from gRPC that never comes.
For example, lamzin@ was able to reproduce this behavior when the some unrelated code erroneously and accidentally closes a gRPC's internal file descriptor.
We probably should introduce a time constraint into grpc_async_adapter that determines how long the shutdown may take. Because it sounds preferable to have the program terminated with some background threads not being stopped, rather than hang indefinitely.
Marking as P3 since this situation should only happen when there's a programmatic error somewhere in the code that uses grpc_async_adapter.
Comment 1 by lamzin@google.com
, Nov 9