<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/glib.git/tests/refcount/objects2.c, branch require-python34</title>
<subtitle>gitlab.gnome.org: GNOME/glib.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/'/>
<entry>
<title>tests/: Include unistd.h on *NIX only</title>
<updated>2013-11-11T14:37:39+00:00</updated>
<author>
<name>Chun-wei Fan</name>
<email>fanchunwei@src.gnome.org</email>
</author>
<published>2013-11-05T08:08:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=fd41363e0213adda7c274c7ac06b411a17d5619f'/>
<id>fd41363e0213adda7c274c7ac06b411a17d5619f</id>
<content type='text'>
https://bugzilla.gnome.org/show_bug.cgi?id=711047
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugzilla.gnome.org/show_bug.cgi?id=711047
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove g_type_init() calls</title>
<updated>2012-10-16T13:39:24+00:00</updated>
<author>
<name>Ryan Lortie</name>
<email>desrt@desrt.ca</email>
</author>
<published>2012-10-15T16:00:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=1dc774a653e992e1153fbed16f90097fa8db467f'/>
<id>1dc774a653e992e1153fbed16f90097fa8db467f</id>
<content type='text'>
Very many testcases, some GLib tools (resource compiler, etc) and
GApplication were calling g_type_init().

Remove those uses, as they are no longer required.

https://bugzilla.gnome.org/show_bug.cgi?id=686161
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Very many testcases, some GLib tools (resource compiler, etc) and
GApplication were calling g_type_init().

Remove those uses, as they are no longer required.

https://bugzilla.gnome.org/show_bug.cgi?id=686161
</pre>
</div>
</content>
</entry>
<entry>
<title>Dispose test object</title>
<updated>2012-04-02T13:09:11+00:00</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2012-04-02T11:59:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=c2318a18f91ee098efd8239ae6d9ec0bd3826423'/>
<id>c2318a18f91ee098efd8239ae6d9ec0bd3826423</id>
<content type='text'>
While not very important, it means one less untested function
in the coverage report.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While not very important, it means one less untested function
in the coverage report.
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop g_thread_init from tests</title>
<updated>2012-04-02T13:09:11+00:00</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2012-04-02T11:59:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=c173c0beb4e0f664faf616bd6475b6c5c1aa50fb'/>
<id>c173c0beb4e0f664faf616bd6475b6c5c1aa50fb</id>
<content type='text'>
This is not needed anymore.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is not needed anymore.
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not use static GTypeInfo and GInterfaceInfo</title>
<updated>2011-11-30T03:03:25+00:00</updated>
<author>
<name>Nicola Fontana</name>
<email>ntd@entidi.it</email>
</author>
<published>2011-11-30T03:02:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=f24d8247b3a20cc62b4be50a0515acffd7e7d277'/>
<id>f24d8247b3a20cc62b4be50a0515acffd7e7d277</id>
<content type='text'>
Either g_type_register_static_simple (used by G_DEFINE_TYPE_EXTENDED)
and G_IMPLEMENT_INTERFACE use automatic variables for GTypeInfo and
GInterfaceInfo structs, while tutorials and source code often use
static variables. This commit consistently adopts the former method.

https://bugzilla.gnome.org/show_bug.cgi?id=600161
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Either g_type_register_static_simple (used by G_DEFINE_TYPE_EXTENDED)
and G_IMPLEMENT_INTERFACE use automatic variables for GTypeInfo and
GInterfaceInfo structs, while tutorials and source code often use
static variables. This commit consistently adopts the former method.

https://bugzilla.gnome.org/show_bug.cgi?id=600161
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compiler warnings</title>
<updated>2011-05-02T15:50:23+00:00</updated>
<author>
<name>Dan Winship</name>
<email>danw@gnome.org</email>
</author>
<published>2011-05-02T15:45:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=bdc23c44e8fbb507e14056a05e38b92982df7a5f'/>
<id>bdc23c44e8fbb507e14056a05e38b92982df7a5f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed up internal 'g_test*' names.</title>
<updated>2007-11-20T15:00:20+00:00</updated>
<author>
<name>Tim Janik</name>
<email>timj@src.gnome.org</email>
</author>
<published>2007-11-20T15:00:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=78373b68b9936623dbdaf1754004a6bc798e9fa1'/>
<id>78373b68b9936623dbdaf1754004a6bc798e9fa1</id>
<content type='text'>
* refcount/signals.c:
* refcount/objects.c:
* refcount/objects2.c:
* refcount/closures.c:
* refcount/properties.c:
* refcount/properties2.c: changed namespace prefix from g_test_* to my_test_*
to not clash with newly introduced g_test* API in glib.

svn path=/trunk/; revision=5875
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* refcount/signals.c:
* refcount/objects.c:
* refcount/objects2.c:
* refcount/closures.c:
* refcount/properties.c:
* refcount/properties2.c: changed namespace prefix from g_test_* to my_test_*
to not clash with newly introduced g_test* API in glib.

svn path=/trunk/; revision=5875
</pre>
</div>
</content>
</entry>
<entry>
<title>test high contention on closure reference counts to trigger and catch</title>
<updated>2005-08-01T21:47:15+00:00</updated>
<author>
<name>Tim Janik</name>
<email>timj@imendio.com</email>
</author>
<published>2005-08-01T21:47:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=10a3867a6e88c5980e04c6a5623e1f0ae89f7116'/>
<id>10a3867a6e88c5980e04c6a5623e1f0ae89f7116</id>
<content type='text'>
Mon Aug  1 23:33:47 2005  Tim Janik  &lt;timj@imendio.com&gt;

        * tests/refcount/closures.c: test high contention on closure
        reference counts to trigger and catch non-atomic updates.

        * tests/refcount/objects.c:
        * tests/refcount/objects2.c:
        * tests/refcount/properties.c:
        * tests/refcount/properties2.c:
        * tests/refcount/signals.c:
        fixed up test and threading fundamentals. variables accessed from all
        threads need to be volatile. context switches are enforced by using
        g_thread_yield(), not g_usleep(1) which may result in busy waits on
        some platforms. for testcode, always consider all warnings and
        critical messages fatal. issue the currently running program on
        stdout. improved progress indicators.

        * tests/refcount/properties.c:
        * tests/refcount/objects.c:
        don't overdo the number of testing threads to keep the testing machine
        usable, 2 threads can produce as much contention as 20 if executing the
        same code.

        * tests/refcount/signals.c: only start 1 thread per object. GObject
        doesn't provide mutually exclusive object access, but only mutually
        exclusive reference count modification.

        * tests/Makefile.am: added closures test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mon Aug  1 23:33:47 2005  Tim Janik  &lt;timj@imendio.com&gt;

        * tests/refcount/closures.c: test high contention on closure
        reference counts to trigger and catch non-atomic updates.

        * tests/refcount/objects.c:
        * tests/refcount/objects2.c:
        * tests/refcount/properties.c:
        * tests/refcount/properties2.c:
        * tests/refcount/signals.c:
        fixed up test and threading fundamentals. variables accessed from all
        threads need to be volatile. context switches are enforced by using
        g_thread_yield(), not g_usleep(1) which may result in busy waits on
        some platforms. for testcode, always consider all warnings and
        critical messages fatal. issue the currently running program on
        stdout. improved progress indicators.

        * tests/refcount/properties.c:
        * tests/refcount/objects.c:
        don't overdo the number of testing threads to keep the testing machine
        usable, 2 threads can produce as much contention as 20 if executing the
        same code.

        * tests/refcount/signals.c: only start 1 thread per object. GObject
        doesn't provide mutually exclusive object access, but only mutually
        exclusive reference count modification.

        * tests/Makefile.am: added closures test.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make refcounting threadsafe by using atomic operations. (#166020, Wim</title>
<updated>2005-07-15T16:51:10+00:00</updated>
<author>
<name>Matthias Clasen</name>
<email>mclasen@redhat.com</email>
</author>
<published>2005-07-15T16:51:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/glib.git/commit/?id=39ea11ce6b107bf3969a2f94807675b458a5a887'/>
<id>39ea11ce6b107bf3969a2f94807675b458a5a887</id>
<content type='text'>
2005-07-15  Matthias Clasen  &lt;mclasen@redhat.com&gt;

	Make refcounting threadsafe by using atomic
	operations.  (#166020, Wim Taymans)

	* gobject.c: Use a recursive lock to protect the
	notify queue.
	(g_object_unref): Get rid of g_object_last_unref and
	do the last unref handling in g_object_unref.
	(g_object_ref, g_object_unref): Use atomic operations.

	* gsignal.c (struct _HandlerMatch): Use a full integer
	for the ref_count field.
	(handler_ref, handler_unref_R): Use atomic operations.

	* gparam.c (g_param_spec_ref, g_param_spec_unref):
	Use atomic operations instead of a lock to make the
	refcounting threadsafe.

	* gclosure.c (g_closure_ref, g_closure_unref): Use atomic
	operations. This is more complicated here, since the
	refcount is stored in a bitfield, so we also have
	to access all other bitfield members atomically.

	* gsignal.c (handlers_find): Read the meta_marshal flag
	of the closure atomically.

	* tests/Makefile.am (SUBDIRS): Add tests/refcount

	* configure.in: Add tests/refcount

	* tests/refcount/properties.c: Test property changes
	from multiple threads.

	* tests/refcount/signals.c: Test signal emission from
	multiple threads.

	* tests/refcount/objects.c: Test refcounting from
	multiple threads.

	* tests/refcount/objects2.c:
	* tests/refcount/properties2.c: Tests to measure the
	overhead of threadsafe refcounting.

	* glib/giochannel.c (g_io_channel_ref, g_io_channel_unref):
	Use atomic operations to make refcounting
	threadsafe.  (#166020, Wim Taymans)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2005-07-15  Matthias Clasen  &lt;mclasen@redhat.com&gt;

	Make refcounting threadsafe by using atomic
	operations.  (#166020, Wim Taymans)

	* gobject.c: Use a recursive lock to protect the
	notify queue.
	(g_object_unref): Get rid of g_object_last_unref and
	do the last unref handling in g_object_unref.
	(g_object_ref, g_object_unref): Use atomic operations.

	* gsignal.c (struct _HandlerMatch): Use a full integer
	for the ref_count field.
	(handler_ref, handler_unref_R): Use atomic operations.

	* gparam.c (g_param_spec_ref, g_param_spec_unref):
	Use atomic operations instead of a lock to make the
	refcounting threadsafe.

	* gclosure.c (g_closure_ref, g_closure_unref): Use atomic
	operations. This is more complicated here, since the
	refcount is stored in a bitfield, so we also have
	to access all other bitfield members atomically.

	* gsignal.c (handlers_find): Read the meta_marshal flag
	of the closure atomically.

	* tests/Makefile.am (SUBDIRS): Add tests/refcount

	* configure.in: Add tests/refcount

	* tests/refcount/properties.c: Test property changes
	from multiple threads.

	* tests/refcount/signals.c: Test signal emission from
	multiple threads.

	* tests/refcount/objects.c: Test refcounting from
	multiple threads.

	* tests/refcount/objects2.c:
	* tests/refcount/properties2.c: Tests to measure the
	overhead of threadsafe refcounting.

	* glib/giochannel.c (g_io_channel_ref, g_io_channel_unref):
	Use atomic operations to make refcounting
	threadsafe.  (#166020, Wim Taymans)
</pre>
</div>
</content>
</entry>
</feed>
