GIOScheduler: Use a GList, not GSList for jobs
authorColin Walters <walters@verbum.org>
Thu, 21 Jun 2012 15:10:00 +0000 (11:10 -0400)
committerColin Walters <walters@verbum.org>
Fri, 22 Jun 2012 15:46:06 +0000 (11:46 -0400)
commit991d07d66a8b111131181a8db15abbb042ee7c6d
treef738a1bfbe7c490bf28c5ab11430f7aeca1f1577
parent2839297686a9305b4fa909b93c337ef1d1a5e94b
GIOScheduler: Use a GList, not GSList for jobs

In general, code using g_slist_delete_link() is broken, because it
potentially requires an O(n) traversal.  Just switch to GList in this
case.

The performance hit here was exacerbated by the fact that we were
holding a mutex that needed to be accessed by all threads.

https://bugzilla.gnome.org/show_bug.cgi?id=678576
gio/gioscheduler.c