Memory leaks plugged.
[pithos-macos] / pithos-macos / PithosBrowserController.m
index c949d79..f3c13eb 100644 (file)
         ASIPithosContainerRequest *containerRequest = [ASIPithosContainerRequest createOrUpdateContainerRequestWithContainerName:@"pithos"];
         [[PithosUtilities prepareRequest:containerRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
         while (![containerRequest isFinished]) {
-            sleep(1);
+            usleep(1);
         }
         if ([containerRequest error]) {
             [PithosUtilities httpRequestErrorAlertWithRequest:containerRequest];
         ASIPithosContainerRequest *containerRequest = [ASIPithosContainerRequest createOrUpdateContainerRequestWithContainerName:@"trash"];
         [[PithosUtilities prepareRequest:containerRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
         while (![containerRequest isFinished]) {
-            sleep(1);
+            usleep(1);
         }
         if ([containerRequest error]) {
             [PithosUtilities httpRequestErrorAlertWithRequest:containerRequest];
@@ -759,7 +759,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
         ASIPithosContainerRequest *containerRequest = [ASIPithosContainerRequest containerMetadataRequestWithContainerName:containerName];
         [[PithosUtilities prepareRequest:containerRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
         while (![containerRequest isFinished]) {
-            sleep(1);
+            usleep(1);
         }
         if ([containerRequest error]) {
             [PithosUtilities httpRequestErrorAlertWithRequest:containerRequest];
@@ -1090,7 +1090,6 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
         NSString *filePath = [objectRequest.userInfo objectForKey:@"filePath"];
         PithosActivity *activity = [objectRequest.userInfo objectForKey:@"activity"];
         NSUInteger totalBytes = activity.totalBytes;
-        NSUInteger currentBytes = activity.currentBytes;
         
         // XXX change contentLength to objectContentLength if it is fixed in the server
         if (([objectRequest contentLength] == 0) && ![PithosUtilities isContentTypeDirectory:[objectRequest contentType]]) {
@@ -1107,7 +1106,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
             }
         }
         
-        currentBytes = [objectRequest objectContentLength];
+        NSUInteger currentBytes = [objectRequest objectContentLength];
         if (currentBytes == 0)
             currentBytes = totalBytes;
         [activityFacility endActivity:activity 
@@ -1118,7 +1117,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     } else {
         NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
         if (retries > 0) {
-            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
             [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
             [[PithosUtilities prepareRequest:newObjectRequest] startAsynchronous];
         } else {
@@ -1134,7 +1133,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     NSLog(@"Download failed: %@", objectRequest.url);
     NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
     if (retries > 0) {
-        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
         [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
         [[PithosUtilities prepareRequest:newObjectRequest] startAsynchronous];
     } else {
@@ -1165,7 +1164,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     } else {
         NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
         if (retries > 0) {
-            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
             [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
             [[PithosUtilities prepareRequest:newObjectRequest] startAsynchronous];
         } else {
@@ -1181,7 +1180,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     NSLog(@"Upload directory object failed: %@", objectRequest.url);
     NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
     if (retries > 0) {
-        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
         [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
         [[PithosUtilities prepareRequest:newObjectRequest] startAsynchronous];
     } else {
@@ -1262,7 +1261,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     } else {
         NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
         if (retries > 0) {
-            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
             [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
             [[PithosUtilities prepareRequest:newObjectRequest] startAsynchronous];
         } else {
@@ -1277,7 +1276,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     NSLog(@"Upload using hashmap failed: %@", objectRequest.url);
     NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
     if (retries > 0) {
-        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
         [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
         [[PithosUtilities prepareRequest:newObjectRequest] startAsynchronous];
     } else {
@@ -1339,7 +1338,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     } else {
         NSUInteger retries = [[containerRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
         if (retries > 0) {
-            ASIPithosContainerRequest *newContainerRequest = (ASIPithosContainerRequest *)[PithosUtilities copyRequest:containerRequest];
+            ASIPithosContainerRequest *newContainerRequest = (ASIPithosContainerRequest *)[[PithosUtilities copyRequest:containerRequest] autorelease];
             [(NSMutableDictionary *)(newContainerRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
             [[PithosUtilities prepareRequest:newContainerRequest] startAsynchronous];
         } else {
@@ -1354,7 +1353,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     NSLog(@"Upload of missing block failed: %@", containerRequest.url);
     NSUInteger retries = [[containerRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
     if (retries > 0) {
-        ASIPithosContainerRequest *newContainerRequest = (ASIPithosContainerRequest *)[PithosUtilities copyRequest:containerRequest];
+        ASIPithosContainerRequest *newContainerRequest = (ASIPithosContainerRequest *)[[PithosUtilities copyRequest:containerRequest] autorelease];
         [(NSMutableDictionary *)(newContainerRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
         [[PithosUtilities prepareRequest:newContainerRequest] startAsynchronous];
     } else {
@@ -1387,7 +1386,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     } else {
         NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
         if (retries > 0) {
-            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
             [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
             [[PithosUtilities prepareRequest:newObjectRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
         } else {
@@ -1406,7 +1405,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     NSLog(@"Move object failed: %@", objectRequest.url);
     NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
     if (retries > 0) {
-        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
         [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
         [[PithosUtilities prepareRequest:newObjectRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
     } else {
@@ -1442,7 +1441,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     } else {
         NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
         if (retries > 0) {
-            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
             [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
             [[PithosUtilities prepareRequest:newObjectRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
         } else {
@@ -1461,7 +1460,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     NSLog(@"Copy object failed: %@", objectRequest.url);
     NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
     if (retries > 0) {
-        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
         [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
         [[PithosUtilities prepareRequest:newObjectRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
     } else {
@@ -1494,7 +1493,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     } else {
         NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
         if (retries > 0) {
-            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+            ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
             [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
             [[PithosUtilities prepareRequest:newObjectRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
         } else {
@@ -1510,7 +1509,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     NSLog(@"Delete object failed: %@", objectRequest.url);
     NSUInteger retries = [[objectRequest.userInfo objectForKey:@"retries"] unsignedIntegerValue];
     if (retries > 0) {
-        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[PithosUtilities copyRequest:objectRequest];
+        ASIPithosObjectRequest *newObjectRequest = (ASIPithosObjectRequest *)[[PithosUtilities copyRequest:objectRequest] autorelease];
         [(NSMutableDictionary *)(newObjectRequest.userInfo)setObject:[NSNumber numberWithUnsignedInteger:(--retries)] forKey:@"retries"];
         [[PithosUtilities prepareRequest:newObjectRequest priority:NSOperationQueuePriorityVeryHigh] startAsynchronous];
     } else {
@@ -1665,7 +1664,7 @@ forDraggedRowsWithIndexes:(NSIndexSet *)rowIndexes inColumn:(NSInteger)column {
     NSMenuItem *menuItem;
     NSString *menuItemTitle;
     BOOL nodeContextMenu = NO;
-    PithosNode *menuNode;
+    PithosNode *menuNode = nil;
     NSMutableArray *menuNodes;
     if (menu == browserMenu) {
         NSInteger column = [browser clickedColumn];