Merge pull request #21798 from muxi/fix-objc-memory

Fix ObjC memory consumption increase as app runs
pull/21805/head
Muxi Yan 5 years ago committed by GitHub
commit 8d2829960a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 30
      src/objective-c/GRPCClient/private/GRPCCore/GRPCCompletionQueue.m

@ -56,20 +56,22 @@ const grpc_completion_queue_attributes kCompletionQueueAttr = {
});
dispatch_async(gDefaultConcurrentQueue, ^{
while (YES) {
// The following call blocks until an event is available.
grpc_event event =
grpc_completion_queue_next(unmanagedQueue, gpr_inf_future(GPR_CLOCK_REALTIME), NULL);
GRPCQueueCompletionHandler handler;
switch (event.type) {
case GRPC_OP_COMPLETE:
handler = (__bridge_transfer GRPCQueueCompletionHandler)event.tag;
handler(event.success);
break;
case GRPC_QUEUE_SHUTDOWN:
grpc_completion_queue_destroy(unmanagedQueue);
return;
default:
[NSException raise:@"Unrecognized completion type" format:@""];
@autoreleasepool {
// The following call blocks until an event is available.
grpc_event event =
grpc_completion_queue_next(unmanagedQueue, gpr_inf_future(GPR_CLOCK_REALTIME), NULL);
GRPCQueueCompletionHandler handler;
switch (event.type) {
case GRPC_OP_COMPLETE:
handler = (__bridge_transfer GRPCQueueCompletionHandler)event.tag;
handler(event.success);
break;
case GRPC_QUEUE_SHUTDOWN:
grpc_completion_queue_destroy(unmanagedQueue);
return;
default:
[NSException raise:@"Unrecognized completion type" format:@""];
}
}
};
});

Loading…
Cancel
Save