Bonjour,

J'essaie actuellement de partagé un fichier entre un reader & un setter.
Dans l'ensemble le code marche bien sauf dans un cas:

Si j'ai un fichier (cible de partage) déjà utilisé en lecture avec un reader, je ne peut pas mettre un writter dessus.
Or il me faut absolument pouvoir réalisé cette étape.
Dans le cas ou le writter est déjà activé, le reader fonctionne correctement.

Ci dessous les types d'appels aux fonctions:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
segment = managed_mapped_file(open_read_only, MemoryPath); //reader
 
....
 
segment = managed_mapped_file(open_or_create, MemoryPath, 2048); //writter
Erreur survenue:

terminate called after throwing an instance of 'boost::interprocess::interprocess_exception'
what(): boost::interprocess_exception::library_error

Donc en résumé: puis-je appeler mon writer quand un reader a déjà la main sur un fichier ouvert ? (ici je lance d'abord mon lecteur, après l'écrivain)
(sachant que la réciproque est vrais: on peut faire une écriture en même temps qu'une lecture si l'écrivain est lancé en premier).