C'est un peu particulier. Dans la cadre d'un projet, je développe une mémoire partagée répartie. Initialement, je fais un open de /dev/zero que je mmap par la suite en n'accordant aucun droit afin de symboliser l'état de la mémoire sur le serveur. Lorsque je tente d'accéder à une page de ma mémoire, il y a un sigsegv (je détermine si il s'agit d'un vrai ou d'un faux d'abord ) car je n'ai pas les droits dessus : un gestionnaire de signal prend la main et s'occupe d'aller demander la page au serveur.
Pour connaître les droits que je dois accorder à cette page, il me faut donc connaître si le sigsegv est du à une tentative de lecture ou une tentative d'écriture. Une solution pourrait être d'accorder d'abord le droits en lecture, d'attendre un deuxième sigsegv, et d'accorder les droits en écriture, mais c'est n'est pas optimal.
Voilà toute l'histoire 