Manegarm a écrit a écrit :
Voila mon bout de code :
int main(int argc, char **argv)
{
int fd;
int val;
struct exec head;
if (argc < 2)
exit(0);
if ((fd = open(argv[1], O_RDONLY) == -1))
exit(0);
puts ("avant" );
if ((val = read(fd, &head, sizeof(head))) == -1)
exit(0);
puts ("apres" );
}
Il reste bloque et n'affiche ajmais le "apres".
Help
|
Ca a peut-être rien à voir mais y'aurait pas comme un pb de parenthèse ?!
Sinon ça peut venir de ton open et/ou ton read qui sont bloquant ET qui son bloqués qqpart
Autre chose, dans tes if il me semble que tu test pas le bon truc. Tel que c'est fait là tu la véracité du = et non pas la valeur de retour de tes fonctions. Fait plutôt comme ça :
if (read(fd, &head, sizeof(head) == -1)
exit(0);
[jfdsdjhfuetppo]--Message édité par cycojesus--[/jfdsdjhfuetppo]
---------------
Chết rồi ! ✍ ⌥⌘ http://github.com/gwenhael-le-moine/slackbuilds/