File tree Expand file tree Collapse file tree 3 files changed +5
-20
lines changed Expand file tree Collapse file tree 3 files changed +5
-20
lines changed Original file line number Diff line number Diff line change @@ -1721,12 +1721,6 @@ + (void)registerUserAfterDelay {
17211721 [OneSignalHelper performSelector: @selector (registerUser ) onMainThreadOnObject: self withObject: nil afterDelay: reattemptRegistrationInterval];
17221722}
17231723
1724- static dispatch_queue_t serialQueue;
1725-
1726- + (dispatch_queue_t )getRegisterQueue {
1727- return serialQueue;
1728- }
1729-
17301724+ (void )registerUser {
17311725 // return if the user has not granted privacy permissions
17321726 if ([self shouldLogMissingPrivacyConsentErrorWithMethodName: nil ])
@@ -1737,21 +1731,17 @@ + (void)registerUser {
17371731 return ;
17381732 }
17391733
1740- if (!serialQueue)
1741- serialQueue = dispatch_queue_create (" com.onesignal.regiseruser" , DISPATCH_QUEUE_SERIAL);
1742-
17431734 [self registerUserNow ];
17441735}
17451736
17461737+(void )registerUserNow {
17471738 [OneSignal onesignal_Log: ONE_S_LL_VERBOSE message: @" registerUserNow" ];
1748-
1749- if (!serialQueue)
1750- serialQueue = dispatch_queue_create (" com.onesignal.regiseruser" , DISPATCH_QUEUE_SERIAL);
17511739
1752- dispatch_async (serialQueue, ^{
1740+ // Run on the main queue as it is possible for this to be called from multiple queues.
1741+ // Also some of the code in the method is not thread safe such as _outcomeEventsController.
1742+ [OneSignalHelper dispatch_async_on_main_queue: ^{
17531743 [self registerUserInternal ];
1754- }) ;
1744+ }] ;
17551745}
17561746
17571747// We should delay registration if we are waiting on APNS
Original file line number Diff line number Diff line change @@ -83,7 +83,6 @@ withNotificationWillShowInForegroundHandler:(OSNotificationWillShowInForegroundB
8383
8484// Expose OneSignal test methods
8585@interface OneSignal (UN_extra)
86- + (dispatch_queue_t ) getRegisterQueue ;
8786+ (void )setDelayIntervals : (NSTimeInterval )apnsMaxWait withRegistrationDelay : (NSTimeInterval )registrationDelay ;
8887@end
8988
Original file line number Diff line number Diff line change @@ -182,18 +182,14 @@ + (void)runBackgroundThreads {
182182
183183+ (void )runThreadsOnEachQueue {
184184 // the httpQueue makes sure all HTTP request mocks are sync'ed
185- dispatch_queue_t registerUserQueue, notifSettingsQueue;
185+ dispatch_queue_t notifSettingsQueue;
186186
187187 [OneSignalHelperOverrider runBackgroundThreads ];
188188
189189 notifSettingsQueue = [OneSignalNotificationSettingsIOS10 getQueue ];
190190 if (notifSettingsQueue)
191191 dispatch_sync (notifSettingsQueue, ^{});
192192
193- registerUserQueue = [OneSignal getRegisterQueue ];
194- if (registerUserQueue)
195- dispatch_sync (registerUserQueue, ^{});
196-
197193 [OneSignalClientOverrider runBackgroundThreads ];
198194
199195 [UNUserNotificationCenterOverrider runBackgroundThreads ];
You can’t perform that action at this time.
0 commit comments