Salut, je suis occupé à programmer un memory-manager totalement thread-safe à partir d'un que j'ai récupéré sur internet. Il y a du travaille mais ça avance.
Mais voilà, je voulais savoir si la fonction fprintf est thread-safe. Car si un thread commence à écrire un morceau de texte puis que l'autre prend la relève et commence sa partie, etc. on risque d'avoir des mélanges. Alors voilà, je voulais savoir s'il faut que je gère cela moi même en plaçant mes propres petits pthread_mutex_t.
Merci
bye
# Si j'ai bien saisi
Posté par bobert . Évalué à 3.
Tout ça me reste de la lecture d'un chapitre du livre "Beginning linux programming" dédié aux threads posix, dont je consens à t'envoyer un petit extrait, dans ma grande bonté, à ta demande par courrier.
[^] # Re: Si j'ai bien saisi
Posté par David Decotigny (site web personnel) . Évalué à 3.
Toutes fonctions marquées "MT-safe" dans le man deviendront réentrantes. Il y a des exceptions (gethostbyname, gethostent, etc...) mais elles ont leur equivalent reentrant (suffixe "_r"). RTFM.
Donc printf deviendra reentrant, au sens ou si tu veux afficher "abcd", tu auras toujours 'a' 'b' 'c' 'd' affiches dans cet ordre et sans risque de bug aleatoire. Mais aucune synchro n'est prise pour que 2 printf ne s'entrelacent pas. Ce qui veut dire qu'un printf("abcd") peut tres bien s'entrelacer avec un printf("efgh").
[^] # Re: Si j'ai bien saisi
Posté par elloco (site web personnel) . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.