glib did this change
* g_async_queue_timed_pop has been deprecated in favor of
the new g_async_queue_timeout_pop, which uses relative
delays in microseconds instead of a GTimeVal.
end_time->tv_sec * G_USEC_PER_SEC + end_time->tv_usec - g_get_real_time () returns a value far less than 0 and it causes
the m_end_time to be less than 0.
Therefore, this sets m_end_time to negative creating an invalid argument to be passed to pthread_cond_wait.
I think just casting end_time->tv_sec to gint64 is all that is needed.
I think I've tracked it down...
http:// ftp.gnome. org/pub/ gnome/sources/ glib/2. 31/glib- 2.31.18. news
glib did this change queue_timed_ pop has been deprecated in favor of queue_timeout_ pop, which uses relative
* g_async_
the new g_async_
delays in microseconds instead of a GTimeVal.
and the exact change in g_async_ queue_timed_ pop
+ if (end_time != NULL) _time () +
+ {
+ m_end_time = g_get_monotonic
+ (end_time->tv_sec * G_USEC_PER_SEC + end_time->tv_usec -
+ g_get_real_time ());
+ }
+ else
+ m_end_time = -1;
+
end_time->tv_sec * G_USEC_PER_SEC + end_time->tv_usec - g_get_real_time () returns a value far less than 0 and it causes
the m_end_time to be less than 0.
Therefore, this sets m_end_time to negative creating an invalid argument to be passed to pthread_cond_wait.
I think just casting end_time->tv_sec to gint64 is all that is needed.