Forum Programmation.c MacOS X insomniaque

Posté par  .
Étiquettes : aucune
0
13
fév.
2005
Bonjour à tous,

Je n'arrive pas à faire dormir mes pthreads sous OS X. Pourtant j'ai essayé pas mal de trucs : select(), nanosleep(), usleep(), une tisanne bien chaude...
Connaissez vous une bonne berceuse pour réellement susprendre ces bougres ? Pour l'instant je triche en fixant la valeur de nanosleep à 100000 (soit 10ms, j'ai bon ?), mais mon application consomme quand meme plus de 10% de CPU (ce qui fait ramer PearPC encore plus, je vous laisse imaginer).

Autre petite question : par défaut, sur le OS X.2 Jaguar que j'ai installé, IE 5 est le navigateur par défaut (et apparemment le seul browser installé). Mon programme écoute gentiment sur le port 3000, mais ce damné fourbe d'IE refuse de se connecter sur "127.0.0.1:3000" car il veut une connexion internet (un comble). Sauriez vous comment lui faire entendre raison ? J'ai essayé de le fourvoyer en mettant localhost:3000 en proxy sécurisé (le champ proxy web est grisé ?!), mais il s'entete.

Si vous voulez les sources du bousin :
http://membres.lycos.fr/jaguar_agency/MagicMammouth.tar.gz(...)
(la fonction de sommeil est dans net/mm_net_nap.c)

Merci d'avance pour votre aide :)
  • # mamouth

    Posté par  . Évalué à 2.

    bon, alors j'ai pas de mac.. donc je sais pas si ça marchera...
    mais avec les pthread t'as les variables conditions...
    et du coup pour rendre ton nap() portable tu pourrais les utiliser, avec la fonction : pthread_cond_timedwait
    le problème c'est que t'auras besoin de créer une variable condition, un mutex et voire peut être une boucle sur la fonction au cas ou tu sorte prématurément de celle-ci...
    • [^] # Re: mamouth

      Posté par  . Évalué à 1.

      Merci beaucoup, je n'avais pas remarqué timedwait auparavant, c'est une fonction très sympathique :)
      En plus, ça m'a permis d'éliminer quelques #ifdef...
  • # Camino

    Posté par  (site web personnel) . Évalué à 2.

    Tu as essayé avec Camino si tu pouvais te connecter à l'adresse 127.0.0.1:3000 ?
    Tu peux le télécharger ici : http://www.mozilla.org/products/camino/(...)

    Sinon c'est Safari le navigateur Mac basé sur Konqueror, non? Tu devrais pouvoir le trouver sur www.apple.com

    Autre chose ici aussi sur Windows, si j'ai mon IE en Work Offline, il ne veut pas se connecter à 127.0.0.1 dans ces conditions :-(
    Par contre comme j'ai internet en DHCP par ma carte réseau, je ne sais pas si le comportement est comparable au tien...
    • [^] # Re: Camino

      Posté par  . Évalué à 1.

      J'ai téléchargé les paquets, mais j'ai l'impression que ça va etre juste, il ne me reste que 70 MB de libre sur le disque virtuel de 3 GB...
      Je vais essayer de désinstaller quelques trucs (genre IE ;) avant.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.