PDA

Ver la versión completa : Ayuda pids, forks, kills



hopez
22/08/2010, 12:51
Buenas, estoy portando el gp2xmb a wiz y necesito algo de ayuda para implementar funcionalidades...

Después de arreglar mil cosillas (y otras mil que quedan, buff) me he centrado en la ejecución de los gpe/gpu, en la última versión simplemente se hace un execl del programa seleccionado cosa que da problemas:

Si el programa peta te quedas con pantallazo negro, si va bien normalmente los mismos scripts/programas vuelven a gp2xmenu original.

Me pregunto si existe algún artefacto capaz de volver al gp2xmb, por ahora he implementado un fork para evitar que si el lanzado falla se quede la pantalla en negro pero lo ideal sería que el padre pudiera detectar que el hijo crea un pid del gp2xmenu, lo cazara y lo matara para volver a su rutina de ejecución.

Se hay algo parecido que es la función waitpid el problema es que solamente espera que acabe un pid específico, no que comience.

He pensado en crear dos forks para dejar al padre libre y poder monitorizar los ps pero creo que si hago esto me estaré comiendo demasiado procesador y el hijo-hijo lanzado tendrá problemas de rendimiento.

¿alguien conoce una solución elegante para esto?

Maki
06/09/2010, 11:21
EDITADO: He encontrado el hilo sobre lo que preguntaba

hopez
06/09/2010, 12:02
Bueno de paso aprovecho para subir este tema XD

De todas maneras te cuento como va el port de psfreedom a wiz: llevo un mazo de horas entre ayer y hoy mirando a ver si consigo algo pero aún ni he conseguido detectar donde falla... es un poco frustrante.

Ayer con waninkoko y misato estuvimos remenando un poco pero no dio tiempo para demasiado.
Sigo peleando con ello pero es lento porque es la interacción de tres modulos diferentes: el psfreedom interactua con el kernel que hace las llamadas usb al driver de wiz... el driver de wiz da errores (que no tengo ni idea de si son normales) y llega un punto donde no avanza más y se pone en suspend (que aquí si que ya no es normal, otros drivers no hacen eso).

A partir de aquí tengo que investigar muucho mas xD no se si es que falla porque el psfreedom no pide correctamente el kernel lo que necesita, si es que el driver no envia lo que el psfreedom demanda... vamos entretenidillo

Maki
06/09/2010, 12:12
GRacias por contestar, entiendo que es jodido pues yo soy programador y no tendría ni idea de como comermelo.

Mucha suerte con el proyecto y a ver si avanza el tema:hype: