File tree Expand file tree Collapse file tree 2 files changed +10
-8
lines changed Expand file tree Collapse file tree 2 files changed +10
-8
lines changed Original file line number Diff line number Diff line change 1+ # Unreleased
2+ - [ changed] Updated the performance improvements in 7.5.0 to avoid a possible race condition (#7459 ).
3+
14# v7.5.0
25- [ changed] Improve start-up performance by moving some initialization work to a background thread (#7332 ).
36- [ changed] Updated upload-symbols to a version that is notarized to avoid macOS security alerts (#7323 ).
Original file line number Diff line number Diff line change @@ -363,17 +363,16 @@ static void FIRCLSBinaryImageChanged(bool added,
363363 const struct mach_header * mh,
364364 intptr_t vmaddr_slide) {
365365 // FIRCLSSDKLog("Binary image %s %p\n", added ? "loaded" : "unloaded", mh);
366+ FIRCLSBinaryImageDetails imageDetails;
367+ memset (&imageDetails, 0 , sizeof (FIRCLSBinaryImageDetails));
368+
369+ imageDetails.slice = FIRCLSMachOSliceWithHeader ((void *)mh);
370+ imageDetails.vmaddr_slide = vmaddr_slide;
371+ FIRCLSBinaryImageFillInImageDetails (&imageDetails);
366372
367373 // Do these time-consuming operations on a background queue
368374 dispatch_async (FIRCLSGetBinaryImageQueue (), ^{
369- FIRCLSBinaryImageDetails imageDetails;
370-
371- memset (&imageDetails, 0 , sizeof (FIRCLSBinaryImageDetails));
372-
373- imageDetails.slice = FIRCLSMachOSliceWithHeader ((void *)mh);
374- imageDetails.vmaddr_slide = vmaddr_slide;
375- FIRCLSBinaryImageFillInImageDetails (&imageDetails);
376-
375+ // this is an atomic operation
377376 FIRCLSBinaryImageStoreNode (added, imageDetails);
378377 FIRCLSBinaryImageRecordSlice (added, imageDetails);
379378 });
You can’t perform that action at this time.
0 commit comments