Jérémie Pierson a écrit 1 commentaire

  • [^] # Re: Désolé

    Posté par  . En réponse à la dépêche Un nouveau serveur httpd : Ashd, A Sane HTTP Daemon. Évalué à 2.

    En fait, il me semble (après un survol rapide du code) que ashd utilise des sortes de coroutines : plusieurs contextes d'exécutions dans une même thread noyau (voir les fichiers lib/mt*.{c,h}). J'ai déjà vu cette technique dans une bibliothèque dont j'ai malheureusement oublié le nom :-( . Ça utilise les fonctions getcontext(2) et setcontext(2).

    Donc je crois que, même s'il n'y a pas de véritable exécution concurrente, les entrées/sorties ne sont pas bloquantes. Par contre, je n'ai jamais testé la montée en charge d'une telle technique. C'est assez proche de la programmation "événementielle" (libevent et compagnie), mais présenté différemment.

    Par contre j'ai un peu peur du parser, moi aussi. Enfin, faut que je teste avant de critiquer :-)