hola de nuevo estoy aqui preguntando an de decir que pregunto pero esque no funciona.
bueno en fin este es mi problema
tengo main_thread
que es el que realiza las comprobaciones
y print_thread
que imprime los textos y todo eso
el problema esque quiero parar los threads para que al mover el curson en mi menu no se mueva tambien en el XMB
uso en siguiente codigo que haye en un src de takka pero no se muy bien como funciona
void ThreadsStatChange( bool stat, SceUID thlist[], int thnum ) { int ( *request_stat_func )( SceUID ) = NULL; int i, j; SceUID selfid = sceKernelGetThreadId(); if( stat ){ request_stat_func = sceKernelResumeThread; } else{ request_stat_func = sceKernelSuspendThread; } SceKernelThreadInfo status; for( i = 0; i < thnum; i++ ){ bool no_target = false; for( j = 0; j < st_thnum_first; j++ ){ if( thlist[i] == st_thlist_first[j] || selfid == thlist[i] ){ no_target = true; break; } } sceKernelReferThreadStatus(thlist[i], &status); if( ! no_target ) ( *request_stat_func )( thlist[i] ); } }
para utilizarlo uso esto
sceKernelGetThreadmanIdList( SCE_KERNEL_TMID_Thread, thlist, MAX_NUMBER_OF_THREADS, &thnum ); //obtenemos la lista de threads sceCtrlReadBufferPositive(&pad, 1); if(pad.Buttons != lastpad.Buttons) { lastpad = pad; if ((pad.Buttons & key_button) && (showMenu == S_OFF) && (showInfo == S_OFF) && (showFiHid == S_OFF) && (showFileList == S_OFF)) si todos los menus entan en OFF aparace el menu principal { showMenu = S_ON; //aparecemos el menu sceKernelSuspendAllUserThreads(); //paramos los threads } else if ((pad.Buttons & key_button) && (showMenu == S_ON)) //si volvemos a presionar el boton asignado el menu desaparecera y los threads deverian volver a activarse { showMenu = S_OFF; //desaparecemos el menu ThreadsStatChange(true,thlist,thnum); // reactivamos los threads }
el problema esque cuando paramos los treads main_thread si funciona
pero print_thread y los demas se quedan pillados
si necesitas mas información aganmelo saber y desde ahorita gracias