[HELP] - problème C

kenshiro1980

Nouveau membre
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 :


merci de pouvoir m´aider ...
 

thrips

Expert
essaie comme sa :

fd = open("/tmp/montube",O_RDONLY);
if ( fd == -1) {
perror("open");
exit(EXIT_FAILURE);
}
 

kenshiro1980

Nouveau membre
merci d'avoir répondu, mais ça ne marche toujours pas ...
en fait, du jour au lendemain (je crois n'avoir rien changer en tout cas) ça a bloqué à cette partie ...
 

++Taz

Expert
tip of the day sizeof(char)==1 par définition

au lieu d'utiliser des tube nommés, tu pourrais peut être utiliser les UnixSocket, ça serait bien mieux je pense
 

kenshiro1980

Nouveau membre
lol, merci quand même
en fait c'est moi qui suis con ...
open est bloquant !! (j'avais oublié >.<)
++Taz> oui, c'est bon, j'ai utilisé les sockets après, c'était histoire de le faire en local (ouais socket aussi on peut mais bon)
 

kenshiro1980

Nouveau membre
rebonjour,
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
 

kenshiro1980

Nouveau membre
kangol> heu ... moi pas comprendre là
++Taz> bah avec un pool de thread, on peut en lancer que n au maximum, donc si un thread est en exécution, on ne pourra pas faire appel à lui pour exécuter une procédure/fonction donc il est indisponible, et disponible c'est quand il glandouille
 

KangOl

Grand Maître
bin les thread se mettent en attente avec une semaphore, le premier ki prendra la main pourra s'executer :)
 

kenshiro1980

Nouveau membre
[citation=3703,1][nom]kangol a écrit[/nom]bin les thread se mettent en attente avec une semaphore, le premier ki prendra la main pourra s'executer :)
[/citation]

:heink: :sweat: :sleep: :pt1cable:

mais sinon, c'est bon, on m'a répondu pour comment le gérer :)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 843
Membres
1 586 372
Dernier membre
Meeithot
Partager cette page
Haut