mirror of
https://github.com/status-im/react-native.git
synced 2025-02-04 21:53:30 +00:00
Fix memory leak in RN fbsystrace support
Reviewed By: alexeylang Differential Revision: D5060485 fbshipit-source-id: f2ab38023f1870992c16bea08ee887261d0ca34b
This commit is contained in:
parent
6221053179
commit
65aaa9c045
@ -71,7 +71,7 @@ if (!RCTProfileIsProfiling()) { \
|
||||
static RCTProfileCallbacks *callbacks;
|
||||
static char *systrace_buffer;
|
||||
|
||||
static systrace_arg_t *systraceArgsFromDictionary(NSDictionary<NSString *, NSString *> *args)
|
||||
static systrace_arg_t *newSystraceArgsFromDictionary(NSDictionary<NSString *, NSString *> *args)
|
||||
{
|
||||
if (args.count == 0) {
|
||||
return NULL;
|
||||
@ -547,7 +547,9 @@ void _RCTProfileBeginEvent(
|
||||
CHECK();
|
||||
|
||||
if (callbacks != NULL) {
|
||||
callbacks->begin_section(tag, name.UTF8String, args.count, systraceArgsFromDictionary(args));
|
||||
systrace_arg_t *systraceArgs = newSystraceArgsFromDictionary(args);
|
||||
callbacks->begin_section(tag, name.UTF8String, args.count, systraceArgs);
|
||||
free(systraceArgs);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -610,8 +612,9 @@ NSUInteger RCTProfileBeginAsyncEvent(
|
||||
NSUInteger currentEventID = ++eventID;
|
||||
|
||||
if (callbacks != NULL) {
|
||||
callbacks->begin_async_section(tag, name.UTF8String, (int)(currentEventID % INT_MAX),
|
||||
args.count, systraceArgsFromDictionary(args));
|
||||
systrace_arg_t *systraceArgs = newSystraceArgsFromDictionary(args);
|
||||
callbacks->begin_async_section(tag, name.UTF8String, (int)(currentEventID % INT_MAX), args.count, systraceArgs);
|
||||
free(systraceArgs);
|
||||
} else {
|
||||
dispatch_async(RCTProfileGetQueue(), ^{
|
||||
RCTProfileOngoingEvents[@(currentEventID)] = @[
|
||||
|
Loading…
x
Reference in New Issue
Block a user