: 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

Reply via email to