Re: [SOS] Dupliquer une tâche ...
Cyril Dupuit
cyrildupuit at hotmail.com
Lun 6 Mar 20:33:32 CET 2006
Bonsoir,
>Je pense qu'il peut y avoir des cas delicats dans lesquels meme les
>variables "locales" a tes threads (allouées dans la pile) se retrouvent
>partagées par tes 2 threads. Dans ce cas ça pose probleme car tu n'avais
>pas prévu qu'il y ait acces concurrents sur ces objets !
Effectivement, je n'avais pas pensé à ça.
>Un exemple ? Je ne suis pas sûr de celui-là, mais tentons... Avant
>d'appeler ton syscall, une des fonctions appelantes alloue des choses dans
>sa pile, ...
>Bref, au niveau user, cette technique me parait assez (très ?) dangereuse.
Tu as raison, c'est exactement ton exemple qui a été exécuté.
J'avais l'intention d'utiliser cet appel système que pour le coté
utilisateur. Au niveau noyau, je ne me suis pas encore posé la question de
l'utilité de cette fonction.
En tout cas, je suis un peu perdu car je ne sais pas comment faire ?
Peut-être analyser la pile du thread parent et remplacer les valeurs
comprises entre le haut et le bas de cette pile par les valeurs équivalentes
de la pile du thread dupliqué. Étant donné que les adresses sont alignées
sur 4 octets, le remplacement est possible assez facilement.
Je ne sais pas ce que vous en pensez ?
Merci encore.
Bonne soirée.
Cyril
Plus d'informations sur la liste de diffusion Sos