CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

problème en C

kenshiro1980
kenshiro1980
Niveau 7
10 octobre 2003 à 00:18:37

bonjour,

voilà une partie de mon code, ça compile sans aucun problème mais il bloque ( à l´endroit indiqué) . ..
if ( mkfifo("/tmp/montube",0666) == -1) {
unlink("/tmp/montube");
mkfifo("/tmp/montube",0666);
}

if ( mkfifo("/tmp/montube2",0666) == -1) {
unlink("/tmp/montube2");
mkfifo("/tmp/montube2",0666);
}
/* ca bloque ici, ca bloque a ce putain de if */
if ( (fd = open("/tmp/montube",O_RDONLY)) == -1) {
perror("open");
exit(EXIT_FAILURE);
}

if ( (fd2 = open("/tmp/montube2",O_WRONLY)) == -1) {
perror("open");
exit(EXIT_FAILURE);
}
pour le code complet :
http://m.o.v.e.free.fr/server.c

merci de pouvoir m´aider . ..

protheus
protheus
Niveau 10
10 octobre 2003 à 18:01:53

Visiblement c´est de l´Unix

Es-tu bien sûr d´avoir les droits pour écrire dans " /tmp" ?

kenshiro1980
kenshiro1980
Niveau 7
10 octobre 2003 à 19:41:23

oui, oui, tous les droits ( ça créé les fichiers)
mais tu vois pourquoi ça pourrait bloquer à ce niveau ? parcequ´il m´aurait engueulé si j´avais pas les droits nécessaires pour faire une ouverture en lecture

kenshiro1980
kenshiro1980
Niveau 7
20 octobre 2003 à 22:26:13

bon, le problème est finalement résolu . .
mais j´ai un autre problème, enfin plutôt une question :
je créé des thread posix, disons une dizaine, après un accept() ( sys/socket.h), j´aimerai lancer un des thread disponible, mais comment savoir quel thread est disponible ou pas ?

merci bien

JeanYvesYves
JeanYvesYves
Niveau 10
21 octobre 2003 à 08:23:47

Bon, alors je ne connais pas de fonctions qui vérifient la vie et la mort d´un thread ( peut etre que ça existe mais je ne connais pas)
ce que tu peux faire :

tu bloques un mutex quand le thread démarre, tu le débloques quand il s´arrete.

ou alors, simplement, tu fais un tableau de bits, une case par thread ( puisque la mem est partagée pour les threads), tu mets le bit a 1 quand le thread démarre, et C avant de sortir qu´il se remettra a 0.
dans la mesure ou le main prog ne fera que lire ce bit, et le thread ne fera que l´écrire ( et que quand il aura fini), je ne pense pas qu´il soit utile de protégé le bit d´un mutex dans ce cas la.

kenshiro1980
kenshiro1980
Niveau 7
21 octobre 2003 à 14:34:24

GOOD merci bien JYY ! !

protheus
protheus
Niveau 10
25 octobre 2003 à 21:37:00

kenshiro1980 Posté le 20 octobre 2003 à 22:26:13
bon, le problème est finalement résolu . .

Tu l´as résolu comment alors, ce problème ?

kenshiro1980
kenshiro1980
Niveau 7
25 octobre 2003 à 23:23:06

bah en fait, j´avais oublié que c´était des appels bloquant, et comme je l´avais ouvert en lecture seule, il fallait que le client fasse une ouverture en écriture et ça passe
lol, c´était trop con... > .<

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment