Adium

Changeset 24422

Show
Ignore:
Timestamp:
07/18/2008 11:10:55 AM (6 months ago)
Author:
sholt
Message:

Using gasp a goto to ensure that ThreadedStressTest exits when all threads are finished, not when the first thread finishes.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Frameworks/AutoHyperlinks Framework/UnitTests/ThreadedStressTest.m

    r24296 r24422  
    1717{ 
    1818        NSThread* threads[THREAD_COUNT]; 
    19         for(int i = 0; i < THREAD_COUNT; i++) 
     19        long completed = 0; 
     20         
     21        for(long i = 0; i < THREAD_COUNT; i++) 
    2022        { 
    2123                threads[i] = [[[NSThread alloc] initWithTarget:self selector:@selector(performLinkTest:) object:nil] autorelease]; 
     24                [threads[i] setName:[NSString stringWithFormat:@"Thread %i",i]]; 
    2225        } 
    2326         
    24         for(int i = 0; i < THREAD_COUNT; i++) 
     27        for(long i = 0; i < THREAD_COUNT; i++) 
    2528        { 
    2629                [threads[i] start]; 
    2730        } 
    2831         
    29         while(true) { 
    30                 for(int i = 0; i < THREAD_COUNT; i++) 
    31                 { 
    32                         if([threads[i] isFinished]) 
    33                                 return; 
     32        reloop: 
     33        for(long i = 0; i < THREAD_COUNT; i++) 
     34        { 
     35                if(![threads[i] isFinished]) { 
     36                        [NSThread sleepForTimeInterval:.1]; 
     37                        goto reloop; 
    3438                } 
    35                 [NSThread sleepForTimeInterval:.1]; 
    3639        } 
     40        return; 
    3741} 
    3842