-
Pero como puedes decir que DIV1 se cerraba sin decir nada, y que te estoy ignorando, si yo estoy diciendo eso baseandome justamente en la ejecución del juego en DIV1 ??!!!
Vamos que lo tengo aqui mismo, y mato el padre y la acha sigue moviendose hasta que sale de pantalla!! Encima que te dije que en Bennu tambien lo corregi matando el proceso acha al morrir el padre... y que sólo quiero con el exists que haga exactamente lo mismo que en DIV1, o sea, que siga en pantalla al morir el padre.
Claro que sus hijos no tienen que morir, acaso lo he dicho (bueno lo dije por lapso en el primer mensaje pero en el ultimo lo he corregido) ?
Última edición por GameMaster; 22/11/2009 a las 18:30
-
-
Entonces te he entendido mal, sorry.
Y no se si es que mi cabeza me juega malas pasadas o que se corrigió en DIV2, lo que se es que tenía un proceso nave y un proceso hijo que generaba el fuego de los motores, comprobando constantemente la posición del padre sin comprobar si este existía, y al morir el padre se colgaba el juego.
Es más, en el mismo descubrí que si una región tenía 0 pixels de ancho o de alto, el 50% de las veces ¡crash!
Espero al menos haber resuelto tu duda de exists ^^U
-
-
Sobre el exists, si funciona, lo que pasa es que al hacer el IF sólo si el padre existe tambien me peta, te pongo el código:
...
existepapi = exists(father);
...
LOOP
...
IF (existepapi == true)
IF (father.flags == 0)
IF (x < father.x)
father.estado = 0;
BREAK;
END
ELSE
IF (x > father.x)
father.estado = 0;
BREAK;
END
END
END
...
Me imagino que es porque comprueba que existe el padre sólo al principio, y despues durante el loop el padre muere y no actualizamos/miramos de nuevo si el padre aún esta vivo y entra en el IF, pero ya no deberia, sólo se me ocurre esto haciendo un repaso por alto, tampoco le he dedicado mucho tiempo, he estado con otras cosillas
-
-
jesus focking christ, cuanta violencia
-
-
ya ves, lo que nos enseñan los videojuegos
-
-
Pues si, te falla porque la comprobación la tienes que hacer cada frame, porque si lo compruebas sólo al principio, es posible que el padre muera tras 234 frames, y entonces accedes a los datos del proceso muerto.
Ya ves lo que tenemos aqui liado, y aun así no hemos sido aun capaces de conseguir procesos "zombies" (¡¡¡que si, que existen!!!).
-
-
man, el exist lo tenes que hacer dentro del loop, si lo haces afuera solo chequeas al inicio...
con respecto a lo otro, yo te entendi que se moria el hijo en div cuando se moria el padre....
por otro lado, si un proceso accede a variables de otro proceso, que ya esta muerto, no hay logica razonable en que este proceso que acceder a variables siga su curso... no deberia, es un error, de seguir los valores que obtiene de un proceso que no existe serian cualquier cosas, y podrian ser un riesgo en la estabilidad de todo el sistema... por ende no me parece logico que si un proceso accede a variables de otro proceso que ya no existe siga funcionando... no deberia hacerlo.
otra cosa diferente es que esas variables no hagan a su logica...
drumpi, cuando un proceso se queda sin padre queda huerfano, un huerfano es un huerfano... nunca es adoptado... (en un momento yo hice un cambio para que lo fuera, pero lo retire, porque no era correcto)
-
-
En Linux, si un proceso depende de otro y el padre moría, la PID pasa a depender del proceso init.
Y Dado que DIV se basó en estos conceptos de Linux, en la documentación se dice que se hace eso, de ahi que yo andase buscando paralelismos.
< - >
En Linux, si un proceso depende de otro y el padre moría, la PID pasa a pertenecer al proceso init.
Y Dado que DIV se basó en estos conceptos de Linux, en la documentación se dice que se hace eso, de ahi que yo andase buscando paralelismos.
Última edición por Drumpi; 23/11/2009 a las 19:10
Razón: Edición automática anti doble-post.
-
-
Curioso, ten han quedado 2 frases paralelas
-
-
si fuera asi, no existirian los procesos huerfanos...
pero bueno, asi es como se comporta...
-
Permisos de publicación
- No puedes crear nuevos temas
- No puedes responder temas
- No puedes subir archivos adjuntos
- No puedes editar tus mensajes
-
Reglas del foro
Marcadores