Bonjour,
Je recode un malloc et j'ai un soucis pour le rendre compatible multithread.
J'ai besoin de mutex mais j'arrive pas a utiliser les mutex kernel d'unix et impossible de trouver un exemple d'utilisation sur le net.
Je ne peux pas utiliser les mutex posix (pthread_mutex) car ils (d'apres ce que j'ai compris en lisant de la doc sur le net) font des appels a malloc. Du coup, ils ne sont pas utilisables.
Je pense qu'il faut que j'utilise les fonctions qui sont definis ds le header sys/mutex.h.
En faisant un define de _KERNEL j'arrive a inclure les entetes de fonctions, je peux declarer un mutex de type struct mtx mais impossible d'utiliser une des fonctions associes (mtx_init, mtx_lock ....)
Voici ma ligne de compilation:
cc main.c -D_KERNEL -W -Wall
Voici l'erreur de compil:
undefined reference to: mtx_init
Est ce que je dois inclure une lib? Utiliser un autre type de mutex?
Merci d'avance pour vos reponses!
Partager