IPB

Bienvenue invité ( Connexion | Inscription )

> Programmation

Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.

> semaphore.h, ou comment faire croire que ça existe...
Options
dulrich
posté 3 Aug 2004, 23:21
Message #1


Méchant modérateur paranoïaque
*****

Groupe : Modérateurs
Messages : 10 755
Inscrit : 24 Jan 2002
Lieu : Confoederatio Helvetica, Kanton Wallis
Membre no 1 865



J'ai besoin de sémaphores.... avec des pthreads. Je m suis dis que le semaphore.h serait tout à fait judicieux.... mais voilà, c'est implémenté à moitié, faut passer par sem_open() et non sem_init() qui n'est pas implémenté rolleyes.gif (étonnant puisque la focntion est présente dans le .h enfin..).

Y a quoi d'autre, parce qu'à coup de sem_open je n'arrive pas à m'en sortir, j'ai des erreurs dans tous les coins sur les sem_wait etc.


--------------------
Nothing Else Matters
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
guiguiguillaume
posté 5 Aug 2004, 07:06
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 779
Inscrit : 7 Jan 2003
Lieu : Montréal
Membre no 5 496



Petit commentaire vis à vis du message plus haut : il est pas facile du tout (je suppose qu'il doit y avoir moyen en ligne de commande et en root, mais ....) d'effacer un sémaphore natif OSX créé par Xcode, si le code pour le détruire n'est pas dans l'appli elle même.

La dernière fois que j'ai utilisé des sémaphores, j'ai en fait rajouté le code pour les détruire jsute avant la déclaration pour les créer, ce qui simplifiait le problème (en débug pas à pas, j'allais pas m'amuser à attendre qu'un programme buggé aille exécuter le free sur les sémaphores, ça risquait de durer une petite infinité de temps).

Voilà, c'était le conseil débile du jour. Mais ça m'avait économisé pas mal de prise de tête (et quelques kernels panic au début, quand je savais pas que les semaphores OSX étaient pas tout à fait comme les autres. Je trouve ça débile d'ailleurs que ça compile alors qu'une fonction est pas implémentée, je suppose que c'est pour pouvoir programmer multiplateforme, mais il devrait y avoir un warning quand on compile pour OSX !).

Ce message a été modifié par guiguiguillaume - 5 Aug 2004, 07:06.


--------------------
guigui - 15,2" et même 20 de plus pour laisser courir le tigre.
Go to the top of the page
 
+Quote Post
f_cam
posté 5 Aug 2004, 11:29
Message #3


Moderating Daemon
*****

Groupe : Modérateurs
Messages : 6 345
Inscrit : 22 Feb 2004
Lieu : Yvelines/Cambridge (GB), dans mon pantalon
Membre no 15 207



QUOTE(guiguiguillaume @ 5 Aug 2004, 08:06)
Petit commentaire vis à vis du message plus haut : il est pas facile du tout (je suppose qu'il doit y avoir moyen en ligne de commande et en root, mais ....) d'effacer un sémaphore natif OSX créé par Xcode, si le code pour le détruire n'est pas dans l'appli elle même.

La dernière fois que j'ai utilisé des sémaphores, j'ai en fait rajouté le code pour les détruire jsute avant la déclaration pour les créer, ce qui simplifiait le problème (en débug pas à pas, j'allais pas m'amuser à attendre qu'un programme buggé aille exécuter le free sur les sémaphores, ça risquait de durer une petite infinité de temps).

Voilà, c'était le conseil débile du jour. Mais ça m'avait économisé pas mal de prise de tête (et quelques kernels panic au début, quand je savais pas que les semaphores OSX étaient pas tout à fait comme les autres. Je trouve ça débile d'ailleurs que ça compile alors qu'une fonction est pas implémentée, je suppose que c'est pour pouvoir programmer multiplateforme, mais il devrait y avoir un warning quand on compile pour OSX !).
[right][snapback]799981[/snapback][/right]


La fonction est, d'une certaine façon impémentée. Il y a le symbole qu'il faut dans la libSystem (j'ai vérifié avec nm). Donc pour le compilo/linker difficile de savoir que le code source de la fonction sem_init se résume à

int sem_init(sem_t *, int, unsigned int){
return SEM_FAILED;
}


--------------------
G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A
MacBook core duo 1.83 GHz
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 17th June 2025 - 21:31