Re: [Evolution-hackers] EDS: Trying to implement expunge function in camel-spool-folder.c



Hi Jeffrey,

On Mon, 2007-06-25 at 08:59 -0400, Jeffrey Stedfast wrote:
> On Sun, 2007-06-24 at 23:24 +0100, Seb James wrote:
[snip]
> from your description, it sounds like you tried to Empty the "Local
> Folders" Trash folder instead of the Trash folder attached to your
> "spool".

Yes, that's what I think has happened.

> You should also note that since the Trash folder is a virtual folder,
> unless both of the following conditions are met, you might not get an
> expunge call on the spool folder:

Useful to know that trash is virtual. That will help me I think. I can
look at the logic that the vTrash folder goes through to select expunges
and syncs to call.

> 1. you have opened the spool folder (at one point, not sure if it is
> still true, vTrash folders, for performance reasons, would not 'notice'
> physical folders until they had been opened)

Yes, I definitely opened the spool folder - it's my default inbox.

> 2. the spool folder has messages marked for deletion (vTrash might have
> logic to skip folders that contain no deleted messages when calling
> expunge on all their source folders)

11800 messages flagged for deletion. You see why I'm trying to fix this?
I think I am seeing bug 213072 regularly, but as a side effect of having
so many undeleted messages in my 158 MB spool file inbox.

I'll poke around some more tonight.

> 
> It might be better to invoke "Expunge Folder" on the physical spool
> folder itself while debugging this as there is a lot less indirection.
> 
> > 
> > 
> > I'm also having trouble debugging eds using gdb and the edsdebug script
> > that I got from the evolution website. If I try to break on
> > camel_folder_sync, gdb tells me it doesn't know where it is...
> > 
> > (gdb) b camel_folder_expunge
> > Function "camel_folder_expunge" not defined.
> > Make breakpoint pending on future shared library load? (y or [n])
> > 
> > But some camel functions are available:
> > 
> > (gdb) b camel_f[TAB]
> > camel_file_util_decode_fixed_int32  camel_file_util_decode_uint32 [snip
> > rest of camel_file_ functions]
> > 
> > Can anyone tell me what I'm doing wrong here?
> > 
> 
> you don't want to be gdbing e-d-s, e-d-s barely uses camel at all - just
> uses a few functions (perhaps that's why those are defined and the
> others not). e-d-s is a daemon process that serves up calendar and
> addressbook data, it doesn't serve up mail.
> 
> You want to gdb evolution itself.

Ok that would explain the missing camel_folder functions. But it really
looks like when I "Empty Trash" in evolution, it sends a message to
e-d-s. Is that not the case? Well, I can have a good look now.
Interesting that e-d-s doesn't serve mail. Would the camel source would
be better placed in the evolution tree?

Many thanks for the reply.

Seb




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