TacOS-team / tacos

Système d'exploitation / Operating System
GNU General Public License v3.0
9 stars 4 forks source link

[tty] Mauvais fg_process #139

Closed MaximeCheramy closed 12 years ago

MaximeCheramy commented 12 years ago

C'est peut être à l'origine de certains bugs donc je mets en majeur. J'explique la situation :

Lorsqu'on lance TacOS, on lance le process init qui lance getty sur /dev/tty0 et qui lance mishell. Le foreground process qui est lié à /dev/tty0 est donc mishell à ce moment là.

Plus précisément, le fg_process est modifié dans la fonction init_stdfd qui est appelée lors de la création d'un processus en utilisant le ctrl_tty du nouveau processus. Bon et ce ctrl_tty est hérité du père.

Donc si je tape ls, le foreground process devient pidof(ls) et lorsqu'il se termine, le fg_process est remis au ppid.

Là où ça devient marrant c'est lorsqu'on lance getty /dev/tty1. Là on fait un process avec le ctrl_tty à /dev/tty0 (hérité du père) mais stdin, stdout et stderr mis à /dev/tty1. Le problème c'est que le fg_process de tty0 est modifié quand même. Et donc à partir de là, c'est du grand n'importe quoi.

Ce qui manque c'est probablement une fonction permettant de changer le ctrl_tty du processus qui fait l'appel. J'ai juste un peu peur de faire un truc moche... Je vais travailler dans cette direction car je n'ai pas d'autres idées pour le moment.

MaximeCheramy commented 12 years ago

Bon cela dit, je ne comprends pas pourquoi ça plantait. J'aurais facilement imaginé des bloquages mais pas des plantages.