test high contention on closure reference counts to trigger and catch
authorTim Janik <timj@imendio.com>
Mon, 1 Aug 2005 21:47:15 +0000 (21:47 +0000)
committerTim Janik <timj@src.gnome.org>
Mon, 1 Aug 2005 21:47:15 +0000 (21:47 +0000)
commit10a3867a6e88c5980e04c6a5623e1f0ae89f7116
tree51af4f9da30c1c1a95e2364ae1b3a327637d2413
parent834ddd1920e89af4958951b2418c014870305f19
test high contention on closure reference counts to trigger and catch

Mon Aug  1 23:33:47 2005  Tim Janik  <timj@imendio.com>

        * 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.
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-8
tests/refcount/Makefile.am
tests/refcount/closures.c [new file with mode: 0644]
tests/refcount/objects.c
tests/refcount/objects2.c
tests/refcount/properties.c
tests/refcount/properties2.c
tests/refcount/signals.c