void test1() { trace_log(DBG,"------------------test1-----------------"); TestThread test; test.Start(); //sleep(2); }
PRIntn main(PRIntn argc, char **agrv) { PRStatus status; PRIntn count = 100; RCThread *thread[10]; while (--count > 0) { TestThread *thread = new TestThread(RCThread::joinable, count); status = thread->Start(); /* have to remember to start it */ PR_ASSERT(PR_SUCCESS == status); status = thread->Join(); /* this should work */ PR_ASSERT(PR_SUCCESS == status); } while (++count < 100) { TestThread *thread = new TestThread(RCThread::unjoinable, count); status = thread->Start(); /* have to remember to start it */ PR_ASSERT(PR_SUCCESS == status); } { Foo1 *foo1 = new Foo1(); PR_ASSERT(NULL != foo1); delete foo1; } { for (count = 0; count < 10; ++count) { thread[count] = new TestThread( RCThread::joinable, count); status = thread[count]->Start(); /* have to remember to start it */ PR_ASSERT(PR_SUCCESS == status); } for (count = 0; count < 10; ++count) { PRStatus rv = thread[count]->Join(); PR_ASSERT(PR_SUCCESS == rv); } } (void)RCPrimordialThread::Cleanup(); return 0; } /* main */