Afficher un message
Vieux 07/04/2008, 11h10   #1
Luc Hermitte
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Des streambufs et des pointeurs *pptr()

Bonjour,

Dans le cadre de la réalisation d'un ostream de log qui sera utilisé
dans un contexte multithread, je me suis défini un streambuf qui
mémorise dans des vecteurs (dans des TSS/TLS) ce qui circule dans
chaque thread.

Jusque là, tout va bien. Les articles de James m'ayant bien mis sur la
voie.

Et puis par curiosité, je suis allé voir ce qui se faisait ailleurs.
Sur codesearch de google, je suis tombé sur un code répondant à la
même question. Dans les différences notables, il y en a une qui m'a
intriguée : la mise à jour des pointeurs de la /put area/ avec setp(),
pbump(), etc.

Du coup, je me suis posé la question "mais est-ce bien nécessaire" ?
Si je ne m'abuse, ces pointeurs servent à tout ce qui est seekp/tellp.
Ce qui fait que dans mon contexte de logs (qui en plus se conclut par
un appel à une fonction variadique d'ACE), je n'en vois pas trop
l'intérêt. D'autant que je trouverait bizarre d'obtenir des valeurs
différentes suivant le thread qui utilise ces fonctions.

Suis-je passé à côté de quelque chose ?

--
Luc Hermitte
  Réponse avec citation
 
Page generated in 0,05695 seconds with 9 queries