From: Christian P. <cp...@us...> - 2005-01-28 11:57:21
|
Update of /cvsroot/pclasses/pclasses2/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21151/test Modified Files: ThreadTest.cpp Log Message: Fixes for Thread changes. Index: ThreadTest.cpp =================================================================== RCS file: /cvsroot/pclasses/pclasses2/test/ThreadTest.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- ThreadTest.cpp 22 Dec 2004 17:54:37 -0000 1.1.1.1 +++ ThreadTest.cpp 28 Jan 2005 11:57:12 -0000 1.2 @@ -32,13 +32,13 @@ : Thread(detach) { } - int main(void *arg) + int main() { sleep(5000); if(detached()) ThreadTest::sem.post(); - return (int)arg; + return 0; } }; @@ -47,27 +47,35 @@ std::cout << "thread 1.. " << std::endl; TestThread* thread = new TestThread(false); - thread->start(0); - P_TEST_EXCEPTION(thread->start(0), LogicError); + thread->start(); + P_TEST_EXCEPTION(thread->start(), LogicError); P_TEST(thread->join() == 0); P_TEST_EXCEPTION(thread->join(), LogicError); std::cout << "thread 2.. " << std::endl; - thread->start((void*)1); + thread->start(); - P_TEST(thread->join() == 1); + P_TEST(thread->join() == 0); delete thread; std::cout << "thread 3.. " << std::endl; thread = new TestThread(true); - thread->start((void*)2); + thread->start(); P_TEST_EXCEPTION(thread->join(), System::SystemError); sem.wait(); delete thread; + + System::Thread::spawn(method(this, &ThreadTest::spawnedTest), &sem); + sem.wait(); sem.wait(); } + void spawnedTest() + { + std::cout << "Hello from spawned callback!" << std::endl; + } + static System::Semaphore sem; }; |