glib/gio/gdbus-codegen
David Zeuthen 11e01802ab gdbus-codegen: Ensure that generated skeletons are MT-safe
For example, if setting a property on a skeleton from another thread
than where it was constructed, the idle handler responsible for
emitting the PropertiesChanged() signal could run immediately and
clear skeleton->priv->changed_properties_idle_source causing
g_source_unref() to be called with a NULL pointer. This race was
easily be fixed by adding a lock to the skeleton object.

In addition to fixing this race, also move the code for setting up the
idle handler to a class handler for the GObject::notify signal. This
change allows use of g_object_freeze_notify() and g_object_thaw_notify()
to perform atomic property changes from another thread than the one
that the skeleton was created in.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-05-15 12:38:24 -04:00
..
__init__.py gdbus-codegen: Add copyright / license headers 2011-04-15 08:33:30 -04:00
.gitignore Update .gitignores 2011-05-02 09:54:15 -04:00
codegen_docbook.py gdbus-codegen: Drop dependency on argparse 2011-05-11 15:39:34 -04:00
codegen_main.py gdbus-codegen: Fix annotation parsing 2011-05-11 17:13:57 -04:00
codegen.py gdbus-codegen: Ensure that generated skeletons are MT-safe 2011-05-15 12:38:24 -04:00
config.py.in gdbus-codegen: Add copyright / license headers 2011-04-15 08:33:30 -04:00
dbustypes.py gdbus-codegen: Generate GDBusObject{,Proxy,Skeleton} subtypes 2011-04-25 09:29:18 -04:00
gdbus-codegen.in gdbus-codegen: Add copyright / license headers 2011-04-15 08:33:30 -04:00
Makefile.am gdbus-codegen: Quote substitution variables 2011-05-11 15:47:00 -04:00
parser.py gdbus-codegen: Add copyright / license headers 2011-04-15 08:33:30 -04:00
utils.py gdbus-codegen: Generate docs when generating C code 2011-04-18 14:23:19 -04:00