* GSWeb/GSWApplication.[h|m]

* GSWeb/GSWComponentRequestHandler.m
        * GSWeb/GSWMultiKeyDictionary.m
          make _globalLock a NSRecursiveLock to fix problem
          I introduced with SVN rev 36250, fixes bug 39092


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@36684 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Sebastian Reitenbach 2013-05-31 08:30:52 +00:00
parent 07ed53b16d
commit 6526169e13
5 changed files with 11 additions and 6 deletions

View file

@ -4,6 +4,11 @@
* GSWeb/GSWHTTPIO.m
use the file handle in non-blocking mode in GNUstep
environment, uses a private GSFileHandle class
* GSWeb/GSWApplication.[h|m]
* GSWeb/GSWComponentRequestHandler.m
* GSWeb/GSWMultiKeyDictionary.m
make _globalLock a NSRecursiveLock to fix problem
I introduced with SVN rev 36250, fixes bug 39092
2013-05-30: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* GSWeb/GSWElement.h

View file

@ -97,7 +97,7 @@ GSWEB_EXPORT BOOL WOStrictFlag;
int _selfLockn;
NSThread *_selfLock_thread_id;
#endif
NSLock* _globalLock;
NSRecursiveLock* _globalLock;
#ifndef NDEBUG
int _globalLockn;
NSThread *_globalLock_thread_id;
@ -144,7 +144,7 @@ GSWEB_EXPORT BOOL WOStrictFlag;
-(BOOL)allowsConcurrentRequestHandling;
-(BOOL)adaptorsDispatchRequestsConcurrently;
-(BOOL)isConcurrentRequestHandlingEnabled;
-(NSLock *) requestHandlingLock;
-(NSRecursiveLock *) requestHandlingLock;
-(BOOL)isRequestHandlingLocked;
-(void)lockRequestHandling;
-(void)unlockRequestHandling;

View file

@ -283,7 +283,7 @@ int GSWApplicationMain(NSString* applicationClassName,
if ((self=[super init]))
{
_selfLock=[NSRecursiveLock new];
_globalLock=[NSLock new];
_globalLock=[NSRecursiveLock new];
ASSIGN(_startDate,[NSDate date]);
ASSIGN(_lastAccessDate,[NSDate date]);
@ -484,7 +484,7 @@ int GSWApplicationMain(NSString* applicationClassName,
return (_isMultiThreaded && _allowsConcurrentRequestHandling);
}
- (NSLock *) requestHandlingLock
- (NSRecursiveLock *) requestHandlingLock
{
if (_isMultiThreaded && (!_allowsConcurrentRequestHandling)) {
return _globalLock;

View file

@ -418,7 +418,7 @@ GSWResponse * _dispatchWithPreparedApplication(GSWApplication *app, GSWContext *
{
//OK
GSWResponse* response=nil;
NSLock * lock;
NSRecursiveLock * lock;
lock = [GSWApp requestHandlingLock];

View file

@ -1504,7 +1504,7 @@ static void GSWMapBaseInitWithZoneAndCapacity(GSWMapBase base,
if ((self=[super init]))
{
ASSIGN(_dictionary,((GSWMultiKeyDictionary*)d));
ASSIGN(_objects,[_dictionary allValues]);
_objects = [NSMutableArray arrayWithArray:[_dictionary allValues]];
};
return self;
}