: With regards to creating a thread on the second core, there is no : guarantee that this will be available even on PortalPlayer machines, so : the code to create a thread on the second core would be something like: : : my_thread = create_thread_on_core(COPROCESSOR, my_function, my_stack, : sizeof(my_stack), my_thread_name); : if(my_thread == -1) : my_thread = create_thread_on_core(CPU, my_function, my_stack, : sizeof(my_stack), my_thread_name);
Looks like lots of duplicated code. Why not have all this handled in the create_thread_on_core function, and/or in the threading library only. Then you'll always get a thread when asking for one and not have to write code to handle a failure case every time. The main vs coprocessor request could be handled with a flag argument to the standard create_thread routine. Also, why a special remove_thread_on_core routine? Perhaps I need a quick tutorial on the kinds of things that need/want to be handled on multiple cores. Regards, Greg