Ce code compile comme une fleur sous Darwin et s'exécute
parfaitement.
Par contre, sous FBSD 5.x, gcc commence par se plaindre qu'il ne
connait pas O_CREAT... ça commence mal car cela ne correspond pas à ce
qui est spécifié dans la page de man. Bon, admettons, j'ajoute un
#include <fcntl.h>...
Là, ça compile, mais l'exécution se plante avec :
$ ./ping.exe
zsh: invalid system call (core dumped) ./ping.exe
Donc, je suis preneur de toute suggestion... Je viens de tester sur
Solaris (les plateformes implémentant sem_open() ne sont pas légion)
et ça marche très bien aussi...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
talon
Eric Jacoboni wrote:
Là, ça compile, mais l'exécution se plante avec :
$ ./ping.exe zsh: invalid system call (core dumped) ./ping.exe
Donc, je suis preneur de toute suggestion... Je viens de tester sur Solaris (les plateformes implémentant sem_open() ne sont pas légion) et ça marche très bien aussi...
iTu vas dans /sys/modules/sem puis tu fais make et kldload sem.ko Ensuite: asmodee% cc -o truc truc.c asmodee% ./truc Ping... ^C
-- Éric Jacoboni, né il y a 1379543113 secondes
-- Michel Talon
Eric Jacoboni <jaco@teaser.fr> wrote:
Là, ça compile, mais l'exécution se plante avec :
$ ./ping.exe
zsh: invalid system call (core dumped) ./ping.exe
Donc, je suis preneur de toute suggestion... Je viens de tester sur
Solaris (les plateformes implémentant sem_open() ne sont pas légion)
et ça marche très bien aussi...
iTu vas dans /sys/modules/sem puis tu fais make et kldload sem.ko
Ensuite:
asmodee% cc -o truc truc.c
asmodee% ./truc
Ping...
^C
$ ./ping.exe zsh: invalid system call (core dumped) ./ping.exe
Donc, je suis preneur de toute suggestion... Je viens de tester sur Solaris (les plateformes implémentant sem_open() ne sont pas légion) et ça marche très bien aussi...
iTu vas dans /sys/modules/sem puis tu fais make et kldload sem.ko Ensuite: asmodee% cc -o truc truc.c asmodee% ./truc Ping... ^C
-- Éric Jacoboni, né il y a 1379543113 secondes
-- Michel Talon
Eric Jacoboni
writes:
Tu vas dans /sys/modules/sem puis tu fais make et kldload sem.ko Ensuite: asmodee% cc -o truc truc.c asmodee% ./truc Ping...
Ouaip... En fait, le support des semaphores P1003_1B n'est pas active par defaut...
Dans /sys/conf/NOTES (j'aurai pu chercher longtemps...), on peut lire:
# p1003_1b_semaphores are very experimental, # user should be ready to assist in debugging if problems arise. options P1003_1B_SEMAPHORES
Bref, en recompilant le noyal avec cette option, ca marche (l'erreur concernant O_CREAT subsiste, mais c'est un moindre mal).
Merci a toi et a Xavier, -- Éric Jacoboni, né il y a 1379548211 secondes
talon@lpthe.jussieu.fr writes:
Tu vas dans /sys/modules/sem puis tu fais make et kldload sem.ko
Ensuite:
asmodee% cc -o truc truc.c
asmodee% ./truc
Ping...
Ouaip... En fait, le support des semaphores P1003_1B n'est pas active
par defaut...
Dans /sys/conf/NOTES (j'aurai pu chercher longtemps...), on peut lire:
# p1003_1b_semaphores are very experimental,
# user should be ready to assist in debugging if problems arise.
options P1003_1B_SEMAPHORES
Bref, en recompilant le noyal avec cette option, ca marche (l'erreur
concernant O_CREAT subsiste, mais c'est un moindre mal).
Merci a toi et a Xavier,
--
Éric Jacoboni, né il y a 1379548211 secondes
Tu vas dans /sys/modules/sem puis tu fais make et kldload sem.ko Ensuite: asmodee% cc -o truc truc.c asmodee% ./truc Ping...
Ouaip... En fait, le support des semaphores P1003_1B n'est pas active par defaut...
Dans /sys/conf/NOTES (j'aurai pu chercher longtemps...), on peut lire:
# p1003_1b_semaphores are very experimental, # user should be ready to assist in debugging if problems arise. options P1003_1B_SEMAPHORES
Bref, en recompilant le noyal avec cette option, ca marche (l'erreur concernant O_CREAT subsiste, mais c'est un moindre mal).
Merci a toi et a Xavier, -- Éric Jacoboni, né il y a 1379548211 secondes
Thierry Thomas
Vendredi 06 février 2004 à 22:54 GMT, Eric Jacoboni a écrit :
Bref, en recompilant le noyal avec cette option, ca marche (l'erreur concernant O_CREAT subsiste, mais c'est un moindre mal).
<mode chipoteur> On ne peut même pas réellement dire que ce soit une erreur : si on ne veut pas inclure sys/fcntl.h, on peut toujours utiliser des 0x0200 au lieu des O_CREAT / O_EXCL, de même que pour éviter d'inclure sys/stat.h tu as utilisé 777 au lieu des S_IRUSR / S_IWUSR. <mode oubli de fermeture>
Mais c'est vrai le man pourrait au moins renvoyer à sem(4), qui lui dit bien quelle option est nécessaire pour sem_open... -- Th. Thomas.
Vendredi 06 février 2004 à 22:54 GMT, Eric Jacoboni a écrit :
Bref, en recompilant le noyal avec cette option, ca marche (l'erreur
concernant O_CREAT subsiste, mais c'est un moindre mal).
<mode chipoteur>
On ne peut même pas réellement dire que ce soit une erreur : si on ne
veut pas inclure sys/fcntl.h, on peut toujours utiliser des 0x0200 au
lieu des O_CREAT / O_EXCL, de même que pour éviter d'inclure sys/stat.h
tu as utilisé 777 au lieu des S_IRUSR / S_IWUSR.
<mode oubli de fermeture>
Mais c'est vrai le man pourrait au moins renvoyer à sem(4), qui lui dit
bien quelle option est nécessaire pour sem_open...
--
Th. Thomas.
Vendredi 06 février 2004 à 22:54 GMT, Eric Jacoboni a écrit :
Bref, en recompilant le noyal avec cette option, ca marche (l'erreur concernant O_CREAT subsiste, mais c'est un moindre mal).
<mode chipoteur> On ne peut même pas réellement dire que ce soit une erreur : si on ne veut pas inclure sys/fcntl.h, on peut toujours utiliser des 0x0200 au lieu des O_CREAT / O_EXCL, de même que pour éviter d'inclure sys/stat.h tu as utilisé 777 au lieu des S_IRUSR / S_IWUSR. <mode oubli de fermeture>
Mais c'est vrai le man pourrait au moins renvoyer à sem(4), qui lui dit bien quelle option est nécessaire pour sem_open... -- Th. Thomas.
Eric Jacoboni
Thierry Thomas writes:
Mais c'est vrai le man pourrait au moins renvoyer à sem(4), qui lui dit bien quelle option est nécessaire pour sem_open...
D'autant que sur les autres systemes testes (Solaris et Darwin), cette inclusion n'est pas necessaire...
-- Éric Jacoboni, né il y a 1379584732 secondes
Thierry Thomas <tthomas@mail.dotcom.fr> writes:
Mais c'est vrai le man pourrait au moins renvoyer à sem(4), qui lui
dit bien quelle option est nécessaire pour sem_open...
D'autant que sur les autres systemes testes (Solaris et Darwin), cette
inclusion n'est pas necessaire...