glib/gio/tests
Ryan Lortie 8c104a01e1 GContextSpecificGroup: fix deadlock
There was a theoretical deadlock between the worker trying to emit a
signal at the same time as we were waiting for it to shutdown the
notification (while holding the lock).

The deadlock was particularly annoying because we didn't really need to
wait for the shutdown and because it wasn't possible to signals to
arrive while waiting for a start.  Attempting to deal with start and
stop in an asymmetric way could have lead to other weird situations,
however.

Drop the lock while waiting for the worker thread to start.  This means
that we face the possibility of multiple waiters on the cond at the same
time, so we need to make more of a state machine.

https://bugzilla.gnome.org/show_bug.cgi?id=742599
2015-03-02 15:10:46 -05:00
..
cert-tests Convert some gio tests to installed tests 2013-05-20 06:38:41 -04:00
desktop-files tests: add testcase for {Only,Not}ShowIn 2014-05-08 16:19:56 -04:00
gdbus-object-manager-example Rework the build system for a new tests approach 2013-05-31 23:12:15 -04:00
modules giomodule test: force shared library build 2014-01-13 15:31:38 -05:00
schema-tests Add a test for CDATA in gschema.xml files 2011-11-07 00:14:28 -05:00
services Adding test coverage for GTestDBus activating in-tree services. 2012-12-28 21:28:28 -05:00
thumbnails tests: Add tests for the thumbnail verification code in GIO 2013-10-24 13:55:33 -04:00
x-content Add tests for x-content type sniffing 2014-01-01 17:59:20 -05:00
.gitignore Update .gitignore 2015-02-10 11:50:59 -08:00
actions.c test default GSimpleAction activation 2014-01-21 15:15:38 -05:00
appinfo-test2.desktop Cleanups 2010-07-05 00:56:12 -04:00
appinfo-test-actions.desktop Add missing file 2013-07-11 13:49:20 -04:00
appinfo-test-gnome.desktop Add some more appinfo tests 2010-07-04 20:51:06 -04:00
appinfo-test-notgnome.desktop Add some more appinfo tests 2010-07-04 20:51:06 -04:00
appinfo-test.c Fix up the appinfo test 2013-11-23 22:21:29 -05:00
appinfo-test.desktop Improve GAppInfo test coverage 2012-08-19 02:23:32 -04:00
appinfo.c tests: add testcase for {Only,Not}ShowIn 2014-05-08 16:19:56 -04:00
appmonitor.c appmonitor test: avoid /usr/share 2014-04-15 11:36:39 -04:00
apps.c apps test: add new "monitor" subcommand 2014-09-09 14:11:38 -04:00
async-close-output-stream.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
async-splice-output-stream.c tests: Add testcases for g_output_stream_splice_async() 2013-09-29 17:48:40 -04:00
autoptr.c tests: Add many autoptr tests 2015-02-23 10:40:40 -05:00
basic-application.c Avoid a compiler warning 2014-01-01 22:01:15 -05:00
buffered-input-stream.c gio/tests: add some more async stream tests 2013-01-16 10:17:15 -05:00
buffered-output-stream.c Update tests for new truncate behavior 2013-12-15 21:07:12 -05:00
cancellable.c Updated FSF's address 2014-01-31 14:31:55 +01:00
contenttype.c Use the new g_strv_contains 2014-11-27 09:12:42 -05:00
contexts.c GContextSpecificGroup: fix deadlock 2015-03-02 15:10:46 -05:00
converter-stream.c Improve converter test coverage 2014-01-01 17:59:21 -05:00
credentials.c gcredentials: add NetBSD support 2014-06-28 14:06:36 -04:00
data-input-stream.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
data-output-stream.c Update tests for new truncate behavior 2013-12-15 21:07:12 -05:00
dbus-appinfo.c Updated FSF's address 2014-01-31 14:31:55 +01:00
de.po Merge GSettings tests 2010-04-17 01:48:05 -04:00
defaultvalue.c Add GSimpleIOStream class 2015-02-17 16:27:46 -05:00
desktop-app-info.c filenumerator: Add g_file_enumerator_iterate() 2015-02-20 14:02:05 -05:00
echo-server.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
enums.xml.template GSettings: major refactor. Add enums, range. 2010-06-16 18:17:53 -04:00
file.c filenumerator: Add g_file_enumerator_iterate() 2015-02-20 14:02:05 -05:00
fileattributematcher.c Simplify fileattributematcher tests a bit 2014-01-01 17:59:20 -05:00
filter-cat.c Fix tests to compile again - add missing headers to W32, call correct process-id-getting function 2014-08-02 12:41:14 +00:00
filter-streams.c gio/tests: add some more async stream tests 2013-01-16 10:17:15 -05:00
g-file-info.c Improve GFileAttributeMatcher test coverage 2013-06-02 01:43:13 -04:00
g-file.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
g-icon.c g-icon: Fix memory leak in test 2013-11-11 07:11:29 +01:00
gapplication-example-actions.c Don't use deprecated GApplication api in examples 2011-12-08 18:05:15 -05:00
gapplication-example-cmdline2.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gapplication-example-cmdline3.c e G_SOURCE_CONTINUE/REMOVE internally 2012-01-25 16:15:18 -05:00
gapplication-example-cmdline.c Tweak GApplication docs 2010-11-02 23:02:05 -04:00
gapplication-example-dbushooks.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gapplication-example-open.c Tweak GApplication docs 2010-11-02 23:02:05 -04:00
gapplication.c gapplication: test setting and binding busy state 2015-02-19 08:39:55 +01:00
gdbus-addresses.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-auth.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-bz627724.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-close-pending.c tests: check for NULL before g_object_unref() 2015-02-17 16:16:52 -05:00
gdbus-connection-flush-helper.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-connection-flush.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-connection-loss.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-connection-slow.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-connection.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-daemon.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gdbus-error.c gio: Add newer dbus UnknownXxxx and PropertyReadOnly errors 2014-04-09 20:48:19 +02:00
gdbus-example-export.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gdbus-example-objectmanager-client.c Rework the build system for a new tests approach 2013-05-31 23:12:15 -04:00
gdbus-example-objectmanager-server.c Rework the build system for a new tests approach 2013-05-31 23:12:15 -04:00
gdbus-example-own-name.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gdbus-example-peer.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gdbus-example-proxy-subclass.c Bug 621213 – GDBusProxy and well-known names 2010-06-11 18:21:27 -04:00
gdbus-example-server.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gdbus-example-subtree.c Use 'dumb quotes' rather than `really dumb quotes' 2013-05-21 11:23:22 -03:00
gdbus-example-unix-fd-client.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gdbus-example-watch-name.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gdbus-example-watch-proxy.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
gdbus-exit-on-close.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-export.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-introspection.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-message.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-names.c Work around test failure in gdbus-names 2014-02-17 18:18:20 -05:00
gdbus-non-socket.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-overflow.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-peer-object-manager.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-peer.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-proxy-threads.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-proxy-well-known-name.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-proxy.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-serialization.c gio: Add regression test for double array encoding 2014-07-23 15:44:40 +02:00
gdbus-sessionbus.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-sessionbus.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-test-codegen.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-test-fixture.c Rework the build system for a new tests approach 2013-05-31 23:12:15 -04:00
gdbus-tests.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-tests.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gdbus-testserver.c Add a C version of gdbus-testserver.py 2013-01-03 13:14:26 -05:00
gdbus-threading.c docs: Fix broken gtk-doc formatting 2014-08-18 14:08:41 +02:00
gio-du.c More gio-du win32 fixes 2013-09-23 16:31:40 -04:00
giomodule.c giomodule test: fix again 2014-01-13 16:12:31 -05:00
glistmodel.c tests: add test for GListStore inserted sort 2015-02-03 15:46:48 +01:00
gmenumodel.c Add a test for GMenuAttributeIter 2014-06-05 08:04:47 -04:00
gnotification-server.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gnotification-server.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gnotification.c GNotification: add priority 2014-06-28 14:05:23 -04:00
gschema-compile.c GSettings tests: reverse installed test complexity 2013-05-31 23:16:00 -04:00
gsettings.c gsettings test: stop testing long-deprecated API 2014-06-24 14:18:28 -04:00
gsubprocess-testprog.c Fix tests to compile again - add missing headers to W32, call correct process-id-getting function 2014-08-02 12:41:14 +00:00
gsubprocess.c gsubprocess: test environment a bit more 2014-03-04 09:08:24 -05:00
gtesttlsbackend.c gio/tests/tls-certificates: fix 2014-10-25 08:52:54 -04:00
gtesttlsbackend.h Updated FSF's address 2014-01-31 14:31:55 +01:00
gtlsconsoleinteraction.c Updated FSF's address 2014-01-31 14:31:55 +01:00
gtlsconsoleinteraction.h Updated FSF's address 2014-01-31 14:31:55 +01:00
httpd.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
inet-address.c gnetworkaddress: allow IPv6 scope ids in URIs 2013-08-19 12:15:36 -04:00
io-stream.c tests: add GSimpleIOStream async close tests 2015-02-17 16:27:46 -05:00
live-g-file.c live-g-file: test hidden files 2013-03-13 09:41:09 -04:00
live-g-file.txt Revert "Move gio tests from gio/tests/ to tests/gio/" 2009-07-05 22:49:24 -04:00
Makefile.am tests: only chmod autorun.exe on UNIX 2015-03-01 00:50:09 -05:00
memory-input-stream.c Improve GMemoryInputStream test coverage 2013-06-02 01:44:49 -04:00
memory-output-stream.c Expand the truncate tests 2013-12-15 21:07:12 -05:00
mimeapps.c tests: use mimeapps.list over defaults.list 2014-04-15 11:36:39 -04:00
monitor.c Add a directory monitoring test 2013-06-02 20:02:06 -04:00
network-address.c gnetworkaddress: Add g_network_address_new_loopback() constructor 2014-11-29 14:22:42 -05:00
network-monitor.c gio: add network connectivity state to GNetworkMonitor 2014-12-05 17:37:41 +01:00
org.gtk.schemasourcecheck.gschema.xml Add test case and fix some bugs 2011-11-17 14:03:39 +00:00
org.gtk.test.dbusappinfo.desktop Make a test desktop file a little less invalid 2013-07-14 11:36:45 -04:00
org.gtk.test.gschema.xml.orig Fix GSettings testcase again 2013-11-15 15:32:09 -05:00
permission.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
pollable.c Updated FSF's address 2014-01-31 14:31:55 +01:00
proxy-test.c Updated FSF's address 2014-01-31 14:31:55 +01:00
proxy.c Updated FSF's address 2014-01-31 14:31:55 +01:00
readwrite.c gio/tests: Clean up inclusion of unistd.h 2013-11-04 22:55:30 +08:00
resolver.c Updated FSF's address 2014-01-31 14:31:55 +01:00
resourceplugin.c visibility: Use a separate CFLAGS variable 2013-01-14 23:31:59 -05:00
resources.c Updated FSF's address 2014-01-31 14:31:55 +01:00
send-data.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
simple-async-result.c g_simple_async_result_is_valid: fix for NULL source tag 2014-02-16 09:24:04 -05:00
simple-proxy.c Fix minor mem leak in test case 2014-09-08 08:19:25 +02:00
sleepy-stream.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
socket-address.c Test GUnixSocketAddress construction 2013-04-23 14:36:07 -04:00
socket-client.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
socket-common.c gio/tests/socket-common.c: add a missing #ifdef G_OS_UNIX 2012-02-03 12:58:53 -05:00
socket-listener.c gio/tests: Prevent hangs and aborts in socket-listener 2014-12-07 08:40:18 +02:00
socket-server.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
socket.c gsocket: add a testcase that shows a hang on win32 2015-01-17 15:04:25 +01:00
srvtarget.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
stream-rw_all.c Add tests for {read,write}_all_async() 2014-10-21 12:09:57 -04:00
task.c gio/tests: Add a dynamic type check assertion 2013-11-27 10:01:30 +00:00
test1.txt Add tests for GResource 2012-01-13 17:12:53 +01:00
test2.gresource.xml Add tests for GResource 2012-01-13 17:12:53 +01:00
test2.txt Add tests for GResource 2012-01-13 17:12:53 +01:00
test3.gresource.xml Add tests for GResource 2012-01-13 17:12:53 +01:00
test3.txt Add tests for GResource 2012-01-13 17:12:53 +01:00
test4.gresource.xml Add tests for GResource 2012-01-13 17:12:53 +01:00
test-codegen.xml gdbus-codegen: Update tests for new inheritance-semantics for Since 2012-10-03 11:23:04 -04:00
test-io-stream.c docs: Fix broken gtk-doc formatting 2014-08-18 14:08:41 +02:00
test-io-stream.h Updated FSF's address 2014-01-31 14:31:55 +01:00
test-pipe-unix.c docs: Fix broken gtk-doc formatting 2014-08-18 14:08:41 +02:00
test-pipe-unix.h Updated FSF's address 2014-01-31 14:31:55 +01:00
test.gresource.xml resources: compiler: Allow stripping blanks from xml data 2012-01-25 14:47:37 +01:00
testenum.h Bug 622124 - implement flags for GSettings 2010-07-01 19:06:02 -04:00
thumbnail-verification.c Fix the build 2014-01-19 08:58:28 -05:00
tls-certificate.c Updated FSF's address 2014-01-31 14:31:55 +01:00
tls-interaction.c Updated FSF's address 2014-01-31 14:31:55 +01:00
unix-fd.c Add gnetworking.h 2012-12-12 15:20:22 +01:00
unix-streams.c Improve unix stream test coverage 2013-06-02 01:47:19 -04:00
vfs.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
volumemonitor.c Remove g_type_init() calls 2012-10-16 09:39:24 -04:00
win32-streams.c Fix tests to compile again - add missing headers to W32, call correct process-id-getting function 2014-08-02 12:41:14 +00:00