Re: [PATCH] Block on oneways



Hi Michael,

On Fri, 2007-09-28 at 11:34 +0100, Michael Meeks wrote:
> Hi Jules,
> 
> On Wed, 2007-09-26 at 10:11 +0200, Jules Colding wrote:
> > http://www.mail-archive.com/orbit-list gnome org/msg00065.html
> 
> 	Hmm :-)
> 
> >An easy, simple and foolproof way to fix this would be to make all
> > oneways block while sending data(*).
> 
> 	Which would (unfortunately) nullify one of the major advantages of
> oneways (asynchronicity) - the other end may not be interested in
> reading.

Yes, agreed.


> >  Another fix would be to put a ref on the connection if the send is
> > a oneway, but that fix will be more involved and not as straightforward.
> 
> 	Hmm; it's clear that when a connection is finally unreffed we need to
> do better wrt. sending all the queued data. This I guess ties into the
> problems with shutdown and flushing data then. 

Absolute. This is the core of the old problem you and I wrote about back
then. The connection shouldn't die until all queued data has been
sent.  


> What do we do with
> incoming calls on connections we are unreffing ?

Drop them on the floor I guess?


> 	Anyhow - the simplest approach I would have thought would be to keep a
> ref on the connection while there is queued data, or at least some form
> of weak-ref (right?).

Well, I mainly did the patch as a way to fix it really quickly and in
the hope that others would chime in with a more effective approach. So
yes, you are probably right. 

Best regards,
  jules




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