Probleme sémaphore sous Solaris - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 23-02-2005 à 13:04:08
Citation : |
Marsh Posté le 23-02-2005 à 13:06:57
bin justement !!
il me semble que avec 0x666, le bit O_RDWR doit être positionné !
et le sémaphore existe puisqu'il a été créé avant.
Marsh Posté le 23-02-2005 à 13:28:30
Et si, au lieu d'utiliser la valeur "0x666" tu utilisais la valeur "O_RDWR" ?
Peut-être que "0x666" (moi j'aurais d'ailleurs écrit la valeur sous forme octale 0666) n'est pas égal à "O_RDWR"
Marsh Posté le 23-02-2005 à 13:31:52
c'est ce que j'etais en train de me dire en relisant le man pour la 12e fois, c pas hexa c'est octal...
je vais essayer ca, je reviens !
Marsh Posté le 23-02-2005 à 13:33:39
Octal ou hexa, si tu utilises la macro "O_RDWR" qui est faite pour ça, tu auras pas de soucis...
(tiens, l'est pas revenu donc je présume que ça a marché... ;-)
Marsh Posté le 23-02-2005 à 22:24:59
C'était bien ça !
J'ai utilisé les macros et ca a marché
En fait il fallait mettre 0666 au lieu de 0x666
Marsh Posté le 24-02-2005 à 13:18:00
En fait, en y réfléchissant, c'était évident.
0x666 = 1638
0666 = 438
Donc 0x666 ne correspondait pas à 0666.
Le plus drôle, c'est que quand j'ai écrit "moi j'aurais mis 0666" dans mon premier post, je l'ai mis par habitude mais je ne voyais pas de différence entre 0666 et 0x666. Je considérais chaque nombre de façon individuelle et je pensais "de toute façon ca change rien puisque 6 hexa c'est 6 octal".
C'est bien plus tard, après avoir lu ton post suivant, que j'ai réalisé que c'était pas du tout pareil parce que 0x666 c'est un nombre global et pas une concaténation de trois valeurs comme on l'apprend dans le "chmod".
Marsh Posté le 25-02-2005 à 19:14:35
Voila c'est ca, 0x666 c'est 4 bits par chiffre alors que 0666 y'en a que 3, ca décale tout !
Ca marche maintenant
Marsh Posté le 23-02-2005 à 11:55:37
Salut
Je voudrais utiliser des sémaphores nommés sous Solaris 8.
J'ai le problème suivant :
Pourquoi cette erreur ? Le sémaphore existe bien, mais je n'ai pas le droit de l'ouvrir. Pourtant les droits 666 correspondent bien à un acces total non ?
Merci de m'aider !
A+