Re: The GDK lock in tinymail
- From: Philip Van Hoof <spam pvanhoof be>
- To: tinymail-devel-list <tinymail-devel-list gnome org>
- Subject: Re: The GDK lock in tinymail
- Date: Mon, 06 Aug 2007 00:28:22 +0200
I found a problem in tny_camel_folder_poke_status_default. Its last
execute_callback should not pass g_main_depth() but a number > 0.
This will be fixed in the final commit, of course.
On Sun, 2007-08-05 at 00:03 +0200, Philip Van Hoof wrote:
> And the patch grows ...
>
> This version of the patch adds GDK lock correctness for g_signal_emit
> situations. A few are left uncovered as those require some
> infrastructure changes (for example in TnyMergeFolder we don't yet have
> the ui_lock).
>
>
> On Sat, 2007-08-04 at 12:01 +0200, Philip Van Hoof wrote:
> > On Fri, 2007-08-03 at 18:51 +0100, Rob Taylor wrote:
> > > Philip Van Hoof wrote:
> > > > This patch makes Tinymail's callbacks and observer's updates behave like
> > > > signals in Gtk+.
> > > >
> > > > Please review extensively
> >
> > > That's quite a complex patch! Could you explain it a bit?
> >
> > o. The notify_folder_observers, and notify_folder_store_observers got a
> > _in_idle equivalent that will throw the function call into the
> > GMainLoop using a g_idle_add_full. This was done to in a generic way
> > escape the GDK lock or throw the call out of a thread
> >
> > o. All locations where folder observers are now called, are in the
> > GMainLoop or at locations where it makes sense to lock the GDK lock
> >
> > o. All tny_folder_store_observer_update and tny_folder_observer_update
> > have been wrapped with tny_lockable_lock and tny_lockable_unlock
> >
> > o. All callbacks have been wrapped with tny_lockable_lock and
> > tny_lockable_unlock
> >
> > o. notify_folder_observers_about_copy got rewritten
> >
> > o. inform_observers_about_transfer got renamed to
> > notify_folder_observers_about_transfer
> >
> > o. tny_camel_account_get_supported_secure_authentication got rewritten
> >
> > o. tny_gtk_folder_store_tree_model_folder_obsr_update got rewritten (it
> > assumed that it got called from a thread, which is not the case
> > anymore)
> >
> > o. tny_gtk_folder_store_tree_model_store_obsr_update got rewritten (it
> > assumed that it got called from a thread, which is not the case
> > anymore)
> >
> > o. All status_callback invokes got wrapped by tny_lockable_lock and
> > tny_lockable_unlock (in tny-progress-info.c)
> >
> >
> _______________________________________________
> 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]