Le 26 avril 2011 12:43, Claude Schoen <claude.sch...@esg-france.fr> a écrit : > > Je viens d’écrire un petit programme C++ avec deux threads POSIX, et un > pause() en toute fin. Pause() qui se comporte normalement sous OpenSuse, > mais pas sous DEBIAN : il n’y a pas d’arrêt. Sleep(n) non plus ne constitue > pas un arrêt. > > Sleep n dans le shell est par contre normal (ouf). > > > > Sauriez vous SVP ou est le problème ? >
sleep utilise un signal : il parait normal que son comportement corresponde à ce que tu constate avec pause (qui gère aussi les signaux). De mémoire, les thread et les signaux ne font pas bon ménage, dans la mesure où leur interactions ne sont pas bien spécifiées (quel thread doit recevoir quel signal...). Pour que ça fonctionne, il faut faire beaucoup de code, dont une bonne partie spécifique à la plateforme, pour masquer les signaux dans certains thread et pas dans d'autres. En général, il vaut mieux revoir tes besoins (on peut s'endormir avec usleep par exemple) ou partir sur une bibliothèque pour gérer tout ça à ta place (je pense au moins à ACE ou libevent, mais il doit en exister des dizaines). Bon courage. -- Guilhem BONNEFILLE -=- JID: gu...@im.apinc.org MSN: guilhem_bonnefi...@hotmail.com -=- mailto:guilhem.bonnefi...@gmail.com -=- http://nathguil.free.fr/ -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: http://lists.debian.org/banlktikqqhdbqrrcuan9gaufeqmo53u...@mail.gmail.com