Re: Patch: some referencing problems fixes
- From: Philip Van Hoof <spam pvanhoof be>
- To: José Dapena Paz <jdapena igalia com>
- Cc: tinymail-devel-list <tinymail-devel-list gnome org>
- Subject: Re: Patch: some referencing problems fixes
- Date: Tue, 24 Jun 2008 23:10:03 +0200
All approved.
Great work, thanks a lot!
On Tue, 2008-06-24 at 19:28 +0200, José Dapena Paz wrote:
> Hi,
>
> This patch fixes some reference problems (leaks and cycles) detected in
> modest. We wanted to make as sure as we could that no pending threads
> were running when camel shutdown happened (to reduce risk of getting the
> infamous __nptl_deallocate_tsd crash).
>
> The main problem is that we weren't able to warrant that the imap idle
> thread would die before camel shutdown happens. I changed a bit the code
> to force waiting for idle thread finishing (and freeing the camel imap
> store and folder then).
>
> About TnyDevice reference in TnySessionCamel we make it explicit. We
> include other leak fixes.
>
> And finally, I added code to avoid getting folders again when we get a
> notification of disconnection of the store in folder view.
>
> Changelog would be:
> * libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-store.c:
> * Don't set in_idle to false so that join works properly.
> * On disconnecting we forze a stop_idle so we warrant idle
> thread has died when we disconnect.
> * Send let idle die commands on disconnecting.
> * It's very important to make the idle thread die on time as it
> keeps a reference to the folder. Folder keeps a reference to
> this store, and then store should finish idle soon to be able
> to finalize (cycle reference).
> * libtinymail-camel/camel-lite/camel/providers/imap/camel-imap-folder.c:
> * On finishing the idle thread we state we're out of it.
> * libtinymail-camel/camel-lite/camel.c:
> * Avoid running internal methods of camel_shutdown two times if
> we can call shutdown two times.
> * libtinymail-camel/tny-session-camel.c:
> * Keep a proper reference to TnyDevice.
> * libtinymail-camel/tny-camel-store-account.c:
> * Free the iter store reference on finalising.
> * libtinymail-camel/tny-camel-account.c:
> * Set service to null after unreffing it.
> * libtinymailui-gtk/tny-gtk-folder-store-tree-model.c:
> * Don't get folders again when we change status to disconnected.
>
>
> _______________________________________________
> tinymail-devel-list mailing list
> tinymail-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/tinymail-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]