File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -33,7 +33,9 @@ - (void)initResponseReceivedFor:(WGCDWebServer *)server forType:(NSString*)type
33
33
int r = arc4random_uniform (1000000 );
34
34
NSString *requestId = [NSString stringWithFormat: @" %lld :%d " , milliseconds, r];
35
35
36
- [_completionBlocks setObject: completionBlock forKey: requestId];
36
+ @synchronized (self) {
37
+ [_completionBlocks setObject: completionBlock forKey: requestId];
38
+ }
37
39
38
40
@try {
39
41
if ([WGCDWebServerTruncateHeaderValue (request.contentType) isEqualToString: @" application/json" ]) {
@@ -96,11 +98,13 @@ - (void)initResponseReceivedFor:(WGCDWebServer *)server forType:(NSString*)type
96
98
WGCDWebServerDataResponse* requestResponse = [[WGCDWebServerDataResponse alloc ] initWithData: data contentType: type];
97
99
requestResponse.statusCode = code;
98
100
99
- WGCDWebServerCompletionBlock completionBlock = [_completionBlocks objectForKey: requestId];
100
-
101
- completionBlock (requestResponse);
101
+ WGCDWebServerCompletionBlock completionBlock = nil ;
102
+ @synchronized (self) {
103
+ completionBlock = [_completionBlocks objectForKey: requestId];
104
+ [_completionBlocks removeObjectForKey: requestId];
105
+ }
102
106
103
- [_completionBlocks removeObjectForKey: requestId] ;
107
+ completionBlock (requestResponse) ;
104
108
}
105
109
106
110
@end
You can’t perform that action at this time.
0 commit comments