Re: Some IDLE improvements



On Tue, 2007-10-23 at 15:13 +0200, Philip Van Hoof wrote:
> On Tue, 2007-10-23 at 14:51 +0200, Philip Van Hoof wrote:
> > On Tue, 2007-10-23 at 13:51 +0200, Philip Van Hoof wrote:
> > > This is a patch that improves IDLE.
> > > 
> > > Please review.
> > 
> > New version.
> 
> And again new version


There's still one problem that is not harmful other than that certain
flag changes are not immediately propagated.


As you can see in this piece of log I'm retrieving 28 FLAG changes in
the IDLE. Once I send the DONE, I am retrieving more unsolicited ones.

It's those unsolicited ones, or, the ones that happen in between the
untagged "OK" for the DONE command and me sending the DONE command, that
are not yet handled correctly.

After you apply the patch, it's lines 3822->3830 in camel-imap-folder.c
that should, but aren't, handling this. I will try to fix this today,
but don't hold your breath (it's not really easy to get it completely
right).

The wrong-spelled "unsolitcited:" printf happens in the handler for a
new command: whenever a new command is to be sent, the code will
read-away all unsolicited pending responses. That's why this ain't
harmful. camel-imap-command.c:361

So the command that comes after the DONE (the reason why IDLE was
stopped), reads away these unsolicited responses. The code that comes
right after the code that sends the DONE, should in stead handle it.


read_idle_response (* 25 FETCH (FLAGS () MODSEQ (605)))
(34, ..) <- * 25 FETCH (FLAGS () MODSEQ (605))
read_idle_response (* 26 FETCH (FLAGS () MODSEQ (605)))
(34, ..) <- * 26 FETCH (FLAGS () MODSEQ (605))
read_idle_response (* 27 FETCH (FLAGS () MODSEQ (605)))
(34, ..) <- * 27 FETCH (FLAGS () MODSEQ (605))
read_idle_response (* 28 FETCH (FLAGS () MODSEQ (605)))
(34, ..) <- * 28 FETCH (FLAGS () MODSEQ (605))
process_idle_response (exists=0, recent=0)
idle_response_free
tny_gtk_header_list_model_finalize
TnyCamelQueue: tny_camel_folder_sync_async_default is on the stage, now
performing
camel_imap_folder_stop_idle
Finalizing TnyCamelFolder: 
Finalizing TnyCamelFolder: 
(6, 8) -> DONE
(.., ..) <- EQ (605))
unsolitcited: * 30 FETCH (FLAGS () MODSEQ (605))
unsolitcited: * 31 FETCH (FLAGS () MODSEQ (605))
unsolitcited: * 32 FETCH (FLAGS () MODSEQ (605))
unsolitcited: * 33 FETCH (FLAGS () MODSEQ (605))
unsolitcited: * 34 FETCH (FLAGS () MODSEQ (605))
unsolitcited: * 35 FETCH (FLAGS () MODSEQ (605))
unsolitcited: * 36 FETCH (FLAGS () MODSEQ (605))
unsolitcited: * 37 FETCH (FLAGS () MODSEQ (605))
unsolitcited: * 38 FETCH (FLAGS () MODSEQ (605))


> > 
> > > ps. Don't tell Dave, but this is an awesome IMAP server:
> > > 
> > > turner.dave.cridland.net
> > > u:pvanhoof
> > > p:qresync
> > > 
> > > :-)
> > > 
> > > 
> > > _______________________________________________
> > > tinymail-devel-list mailing list
> > > tinymail-devel-list gnome org
> > > http://mail.gnome.org/mailman/listinfo/tinymail-devel-list
> > _______________________________________________
> > tinymail-devel-list mailing list
> > tinymail-devel-list gnome org
> > http://mail.gnome.org/mailman/listinfo/tinymail-devel-list
> _______________________________________________
> tinymail-devel-list mailing list
> tinymail-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/tinymail-devel-list
-- 
Philip Van Hoof, software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://www.pvanhoof.be/blog






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