Permalink
Browse files

fix memory leak in Chrome debugging

Summary:
`RCTWebSocketExecutor` saves every WebSocket callback when sending message to chrome, but does not clear them in a debug session until the JS bridge is reloaded, and there may be thousands of blocks saved in the callback table. This PR removes them after they are called.
Closes #11341

Differential Revision: D4295710

Pulled By: javache

fbshipit-source-id: 29a02d1aba320115bbb97aee8981e34b89303c91
  • Loading branch information...
1 parent be16907 commit 230de71e3181e13f10cb2742faa833ea4590896c @EmingK EmingK committed with mkonicek Dec 8, 2016
Showing with 1 addition and 0 deletions.
  1. +1 −0 Libraries/WebSocket/RCTWebSocketExecutor.m
@@ -141,6 +141,7 @@ - (void)webSocket:(RCTSRWebSocket *)webSocket didReceiveMessage:(id)message
RCTWSMessageCallback callback = _callbacks[messageID];
if (callback) {
callback(error, reply);
+ [_callbacks removeObjectForKey:messageID];
}
}

0 comments on commit 230de71

Please sign in to comment.