maitretarot-devel-fr
[Top][All Lists]
Advanced

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

Re: [Maitretarot-devel-fr] Re: [Maitretarot-devel-fr] avance des clients


From: philippe brochard
Subject: Re: [Maitretarot-devel-fr] Re: [Maitretarot-devel-fr] avance des clients/ia
Date: 28 Oct 2002 10:06:41 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

"address@hidden" <address@hidden> writes:

> Coucou
> 
> Comme j'ai pas le temps de repondre efficacement en ce moment, ma reponse va 
> etre simple: faut voir dans l'api de glib et des gthreads pour voir comment 
> ca marche tout ca. Et refaire peut-etre libmt_channels_set_free?
> 
Oui, je sais que tu est occupe :)

Bon, j'ai regarde un peu le code, le probleme semble venir
du while (1) dans channels_loop (ligne 313).
En fait je crois qu'il faudrait mettre une condition de sortie
quand on a finie la connection (-> apres libmt_channels_set_free).
Bon, je vais m'occuper d'une autre partie du client gtk :)


Philippe


> Yves
> 
> > Yves Mettier <address@hidden> writes:
> > 
> > > On 26 Oct 2002 14:42:14 +0200
> > > philippe brochard <address@hidden> wrote:
> > > 
> > > > Yves Mettier <address@hidden> writes:
> > > > 
> > > > Il y a toujours un truc qui me fait bizarre au niveau de 
> > > > libmt_channels_set_has_enough_data_to_read (fonction
> > > > player_read_data, libmt_player_client.c ligne 76),
> > > > on ne passe jamais dans la boucle while, autrement dit
> > > > libmt_channels_set_has_enough_data_to_read indique tout de
> > > > suite qu'il y a assez de donnee a lire => en gros le while
> > > > ne sert a rien. Enfin c'est peut etre normal.
> > > 
> > > On bosse dans des conditions favorables. Y'a toujours assez de donnees
> > > a lire.
> > > Si on bosse dans des conditions moins favorables, style reseau lent,
> > > ou pour le serveur avec des clients qui font chier, ca peut arriver!
> > > 
> > > De toute facon, y'a une autre maniere de voir ca.
> > > T'es oblige de faire un if pour verifier qu'il y a assez a lire.
> > > Or si la condition est fausse, un if et un while, c'est pareil!
> > > Donc y'a franchement aucun probleme a mettre un while.
> > > 
> > Ok, donc c'est normal :)
> > 
> > 
> > Bon, sinon j'ai un autre probleme lie aux threads :
> > 
> > L'ia et le client ncurses fonctionnent correctement,
> > par contre le client gtk segfault apres l'appel a
> > libmt_channels_set_free (net_consumer ligne 375) apres
> > une deconnection d'un autre client ou a la fin d'un
> > jeu normal quand tout le monde veux arreter.
> > 
> > J'ai rajouter des tests sur c, c->channel[i]->buffer pour voir
> > s'ils sont != NULL (toujours dans libmt_channels_set_free),
> > avant ça l'ia et le client ncurses plantaient, apres tout s'est
> > bien passe, donc je les ai laisses.
> > 
> > Par contre, le client gtk segfault apres l'appel a la
> > fonction libmt_channels_set_free, ceci parce qu'il ne se
> > termine pas immediatement apres cet appel (si le client gtk se
> > termine immediatement apres cette fonction, il n'y a pas de
> > probleme).
> > 
> > J'ai fais l'essai avec l'ia en ne sortant pas du programme
> > (while (1) apres la deconnection) et elle segfault de la
> > meme maniere que le client gtk.
> > 
> > La question que je me pose est comment est-ce qu'on arrete la
> > thread de libmaitretarot apres la liberation des channels ?
> > Est-ce que ce n'est pas a libmt_channels_set_free de se charger
> > de ca ?
> > 
> > Dans tout les cas, le segfault est du a un acces a 'c'
> > (libmt_channels_set_t *) qui est null apres libmt_channels_set_free
> > alors qu'il n'y a aucun test pour savoir si 'c' est effectivement
> > != NULL et qu'il y a des appels a des fonctions qui cherchent a
> > utiliser 'c' (exemple channel_read_data_from_the_net ligne 184
> > -> une des lignes qui produit le segfault) 
> > 
> > 
> > 
> > Philippe
> > 
> > -- 
> > (    )
> >  ~oo~         Philippe Brochard    <address@hidden>
> >   .. Gnu!                           http://hocwp.free.fr
> >   / =\   \=
> >  -   -    -   -=-= http://www.fsf.org/home.fr.html =-=-
> > 
> > 
> > _______________________________________________
> > Maitretarot-devel-fr mailing list
> > address@hidden
> > http://mail.nongnu.org/mailman/listinfo/maitretarot-devel-fr
> > 
> 
> --
> homepage - http://ymettier.free.fr                   -
> gtktalog - http://www.freesoftware.fsf.org/gtktalog  -
> cardpics - http://www.freesoftware.fsf.org/cardpics/ -
> 
> --------------
> EXCEPTIONNEL!
> Tiscali lance les forfaits Internet Illimités,
> à partir de 15,95EUR / mois.
> Pour en profiter,cliquez ici: http://register.tiscali.fr/forfaits/
> Offres soumises à conditions.
> 
> 
> 
> 
> _______________________________________________
> Maitretarot-devel-fr mailing list
> address@hidden
> http://mail.nongnu.org/mailman/listinfo/maitretarot-devel-fr
> 

-- 
(    )
 ~oo~         Philippe Brochard    <address@hidden>
  .. Gnu!                           http://hocwp.free.fr
  / =\   \=
 -   -    -   -=-= http://www.fsf.org/home.fr.html =-=-




reply via email to

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