gthreadedresolver: fix hang on g_thread_pool_push() failure
authormuralis <murali.sound@gmail.com>
Wed, 25 May 2011 08:12:59 +0000 (13:42 +0530)
committerDan Winship <danw@gnome.org>
Tue, 31 May 2011 12:56:50 +0000 (08:56 -0400)
commita84e6f982f465b31aec7365dadfe2c1ad6664e11
treeab53c5206d158f625c2d5bc93ae9c70f8e5b7401
parentfb34889871c40a50c2bde0c5e6fe64acdd121c37
gthreadedresolver: fix hang on g_thread_pool_push() failure

In resolve_sync function in gthreadedresolver.c, if g_thread_pool_push
fails due to thread creation failure, we are just simply appending the
data to the queue of work to do. After the failure, we might wait
indefinitely in g_cond_wait. In case of g_thread_pool_push failure,
propagate the error so that this function does not blocks forever in
case of failure.

https://bugzilla.gnome.org/show_bug.cgi?id=651034
gio/gthreadedresolver.c