tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE : [Tsp-devel] Ptit debriefing necessaire


From: TSP
Subject: RE : [Tsp-devel] Ptit debriefing necessaire
Date: Mon, 21 Mar 2005 15:59:37 +0100

Cela ne risque-t-il pas d'être un peu lourd, tout en shm et un processus à
chaque requete ?
Je ne sais pas si la modif de xmlrpc en thread est 
- facile
- perenne
- fiable
Mais au moins, ce serait + élégant.

Y++

>-----Original Message-----
>From: Frederik Deweerdt [mailto:address@hidden 
>Sent: Monday, March 21, 2005 8:37 AM
>To: Devel TSP
>Subject: Re: [Tsp-devel] Ptit debriefing necessaire
>
>
>Le 14/03/05 22:47 +0100, Eric NOULARD écrivit:
>> Le lundi 14 mars 2005 à 20:20 +0100, Frederik Deweerdt a écrit :
>> Ce qui me parait louche dans tes traces ce sont les appels
>> à TSP_provider_rqh_manager_end , peut-être est-ce par que ta
>> fonction 'run' se termine après le traitement d'1 requête?
>Ok, problème, réglé: en fait le serveur HTTP qui dispache les 
>requêtes fait
>un fork avec :
>fils -> RunServer() //Serveur HTTP
>pere -> exit(0)
>
>Le exit(0) déclenchait l'execution des atexit() et lancait le
>TSP_provider_rqh_manager_end.
>
>J'ai résolu le problème de la manière suivante:
>
>static clean_exit() {
>  _exit(0);
>}
>
>static void TSP_rpc_run(TSP_rpc_request_config_t *config)
>{
>       atexit(clean_exit);
>       ...
>}
>
>Mon serveur tourne donc correctement, mais voilà un autre problème:
>chaque requête xml est traitée par un process différent, ce 
>qui fait que
>les données de session (X_session) sont perdues lors d'un nouvel appel:
>
>    i/o||tsp_server.c##tsp_request_open_xmlrpc##100: -->IN
>    i/o||tsp_provider.c##TSP_provider_request_open##247: -->IN
>  debug||tsp_provider.c##TSP_provider_request_open##265: No 
>custom args from consumer
>  debug||tsp_session.c##TSP_add_session##229: I've found room 
>in X_session_t for the new session. Id in X_session_t is 0, 
>pid is : 11256
>   Info||tsp_session.c##TSP_add_session##254: New consumer 
>connected : channel_id=0, X_session_nb is : 1
>    i/o||tsp_provider.c##TSP_provider_request_open##299: -->OUT
>    i/o||tsp_server.c##tsp_request_open_xmlrpc##109: -->OUT
>    i/o||tsp_server.c##tsp_request_information_xmlrpc##180: -->IN
>  ERROR||tsp_session.c##TSP_get_session##127: No session found 
>for channel_id=0, X_session_nb is: 0, pid is 11257
>  
>ERROR||tsp_session.c##TSP_session_get_sample_symbol_info_list_b
>y_channel##331: Unable to get session for channel_id=0
>  
>ERROR||tsp_provider.c##TSP_provider_request_information##357: 
>Function TSP_session_get_sample_symbol_info_list_by_channel failed
>    i/o||tsp_provider.c##TSP_provider_request_information##367: -->OUT
>    i/o||tsp_server.c##tsp_request_information_xmlrpc##187: -->OUT
>
>Notez comment varie X_session_nb et le pid...
>
>Les solutions que je vois seraient:
>- modifier xmlrpc pour qu'il utilise des threads
>- mettre toutes les données de session en mémoire partagée
>
>J'opterais bien pour la seconde mais peut-être avez vous des 
>suggestions?
>A+
>Fred
>-- 
>o----------------------------------------------o
>| http://open-news.net : l'info alternative    |
>| Tech - Sciences - Politique - International  |
>o----------------------------------------------o
>
>
>_______________________________________________
>Tsp-devel mailing list
>address@hidden
>http://lists.nongnu.org/mailman/listinfo/tsp-devel
>

Attachment: important_notice.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]