[MOS] Utilisation d’ixemul avec plusieurs tâches
9 sujets de 1 à 9 (sur un total de 9)
-
Salut à tous,
La librairie ixemul est-elle compatible avec une utilisation simultannée par plusieurs tâches ?
Cela me semblait évident, mais je commence à en douter car toutes mes tentatives donnent systématiquement des exceptions « Illegal Data Access at deadbefb » dés que la second tâche atteint le premier appel à une fonction de la librairie (ex: printf, time, …).
J’ai testé d’abord avec la version 49.18, puis j’ai compilé la dernière version (49.21) mais le problème persiste.
Je n’ai pas ce type de problème avec la librairie libnix.
Est-ce un problème connu de l’ixemul ou y a-t-il une manière particulière d’utiliser cette librairie sous MorphOS ?
Si vous avez des connaissances sur le sujet, cela m’intéresse.
Rmais96: Henes veux dire qu’il n’y a pas actuellement de bon port de la lib pthread qui fonctionnent à 95% sur MorphOS et vfork c’est pire…
En gros tu risque de tomber en les utilisant sur pleins de fonctions qui risquent d’engendrer de multiples bugs dont tu ne sauras te dépêtrer.
Le mieux étant de se passer de ixemul tout « » »simplement » » ».
Je voulais dire que je ne suis pas sur qu’un process puisse appeler ixemul sans l’environnement mis en place par ixemul… Donc essaye de faire ça 100% posix en utilisant pthread (mais il n’y en a pas de potable) ou vfork (mouarf)… ou alors essaye d’ouvrir ixemul dans chaque process qui l’utilise.
Mais je dit ça un peu au pif car je ne sais pas vraiment en fait.
D’un autre côté, printf & co ne sont pas multithread safe par définition. Je ne me souviens plus si la spec a évolué entre temps ou pas… Des versions multithread safe sont arrivées dans les Unix actuels après des années…
Enfin, de toute façon, un bon truc unix/posix like n’est pas multithreadé mais utilise select() à outrance. C’est ça l’esprit mamouthix
9 sujets de 1 à 9 (sur un total de 9)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › [MOS] Utilisation d’ixemul avec plusieurs tâches