From e33461857fdbd4a2b83ba84fc271cac18f1870fb Mon Sep 17 00:00:00 2001 From: CaS Date: Mon, 3 Dec 2001 16:08:53 +0000 Subject: [PATCH] Make debug trace be per git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11615 72102866-910b-0410-8b05-ffd578937521 --- Source/GSHTTPURLHandle.m | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/Source/GSHTTPURLHandle.m b/Source/GSHTTPURLHandle.m index ed09778f8..c9fcde33a 100644 --- a/Source/GSHTTPURLHandle.m +++ b/Source/GSHTTPURLHandle.m @@ -41,7 +41,6 @@ #include static NSString *httpVersion = @"1.1"; -static BOOL debug = NO; char emp[64] = { 'A','B','C','D','E','F','G','H','I','J','K','L','M', @@ -54,6 +53,7 @@ char emp[64] = { @interface GSHTTPURLHandle : NSURLHandle { BOOL tunnel; + BOOL debug; NSFileHandle *sock; NSURL *url; NSMutableData *dat; @@ -72,6 +72,7 @@ char emp[64] = { } connectionState; } - (NSString*) encodebase64: (NSString*) input; +- (void) setDebug: (BOOL)flag; @end @@ -80,11 +81,16 @@ char emp[64] = { static NSMutableDictionary *urlCache = nil; static NSLock *urlLock = nil; +static NSLock *debugLock = nil; +static char debugFile[128]; + static void debugRead(NSData *data) { - NSString *s = [NSString stringWithFormat: @"/tmp/GSHTTP.%d", getpid()]; - int d = open([s cString], O_WRONLY|O_CREAT|O_APPEND, 0644); + NSString *s; + int d; + [debugLock lock]; + d = open(debugFile, O_WRONLY|O_CREAT|O_APPEND, 0644); if (d >= 0) { s = [NSString stringWithFormat: @"\nRead %@ -\n", [NSDate date]]; @@ -92,12 +98,15 @@ static void debugRead(NSData *data) write(d, [data bytes], [data length]); close(d); } + [debugLock unlock]; } static void debugWrite(NSData *data) { - NSString *s = [NSString stringWithFormat: @"/tmp/GSHTTP.%d", getpid()]; - int d = open([s cString], O_WRONLY|O_CREAT|O_APPEND, 0644); + NSString *s; + int d; + [debugLock lock]; + d = open(debugFile, O_WRONLY|O_CREAT|O_APPEND, 0644); if (d >= 0) { s = [NSString stringWithFormat: @"\nWrite %@ -\n", [NSDate date]]; @@ -105,6 +114,7 @@ static void debugWrite(NSData *data) write(d, [data bytes], [data length]); close(d); } + [debugLock unlock]; } + (NSURLHandle*) cachedHandleForURL: (NSURL*)newUrl @@ -131,14 +141,11 @@ static void debugWrite(NSData *data) { urlCache = [NSMutableDictionary new]; urlLock = [NSLock new]; + debugLock = [NSLock new]; + sprintf(debugFile, "/tmp/GSHTTP.%d", getpid()); } } -+ (void) setDebug: (BOOL)flag -{ - debug = flag; -} - - (void) dealloc { RELEASE(sock); @@ -688,6 +695,11 @@ static void debugWrite(NSData *data) return result; } +- (void) setDebug: (BOOL)flag +{ + debug = flag; +} + - (BOOL) writeData: (NSData*)d { ASSIGN(wData, d);