summaryrefslogtreecommitdiff
path: root/glib/gasyncqueue.c
Commit message (Collapse)AuthorAgeFilesLines
* Make sure g_thread_pool_stop_unused_threads() actually stops unusedMartyn James Russell2006-04-071-0/+13
| | | | | | | | | | | | | * glib/gthreadpool.c: Make sure g_thread_pool_stop_unused_threads() actually stops unused threads and global limits (like max idle time and max unused threads) can be set without creating a thread pool first. Fixed #335215 (patch from Chris Wilson). * tests/threadpool-test.c: Added two new tests, tests setting global limits before creating a thread pool. The second test makes sure unused threads are actually stopped when using the g_thread_pool_stop_unused_threads().
* use standard_calloc to allocate the profile_data. (#335209, Chris Wilson)Matthias Clasen2006-03-201-7/+8
| | | | | | | | | | | | | | | | | | 2006-03-20 Matthias Clasen <mclasen@redhat.com> * glib/gmem.c (profiler_log): use standard_calloc to allocate the profile_data. (#335209, Chris Wilson) * glib/gmain.c (g_main_context_unref): Avoid a deadlock. (#335207, Chris Wilson) Minor optimizations (#335216, Chris Wilson): * glib/gasyncqueue.c (g_async_queue_pop_intern_unlocked): Use g_queue_peek_tail_link instead of g_queue_peek_tail. * glib/glist.c: * glib/gslist.c: Avoid some memset calls.
* Signal waiting threads, problem noticed by Christian Kellner.Matthias Clasen2006-01-161-0/+2
| | | | | | | 2006-01-16 Matthias Clasen <mclasen@redhat.com> * glib/gasyncqueue.c (g_async_queue_push_sorted_unlocked): Signal waiting threads, problem noticed by Christian Kellner.
* - Call g_queue_insert_sorted() instead of duplicating the code. - CallMartyn James Russell2005-12-071-19/+29
| | | | | | | | | | | | | * glib/gasyncqueue.c: - Call g_queue_insert_sorted() instead of duplicating the code. - Call g_queue_sort() instead of duplicating the code. - Invert sort function results to make sure the same sort function gives the same results across glist, gslist, gqueue and gasyncqueue. * tests/asyncqueue-test.c: - Updated the sort function to reflect the example in the documentation for gasyncqueue.c.
* - Added support for sorting async queues by with _push_sorted(),Martyn James Russell2005-12-051-0/+160
| | | | | | | | | | | * docs/reference/glib/glib-sections.txt: * glib/gasyncqueue.[ch]: - Added support for sorting async queues by with _push_sorted(), _push_sorted_unlocked(), _sort() and _sort_unlocked() (#323047). * tests/Makefile.am: * tests/asyncqueue-test.c: - Added test case for gasyncqueue.c
* Add some docs.Matthias Clasen2005-12-051-0/+8
| | | | | | 2005-12-05 Matthias Clasen <mclasen@redhat.com> * glib/gasyncqueue.c: Add some docs.
* Make PLT-reduction work with gcc4, and don't include everything inMatthias Clasen2005-03-141-1/+3
| | | | | | | | | | | | | | | | | 2005-03-13 Matthias Clasen <mclasen@redhat.com> Make PLT-reduction work with gcc4, and don't include everything in galias.h: * glib/glib.symbols: Group symbols by header and source file. * glib/makegalias.pl: Protect definitions by the same preprocessor symbols used to guard the headers. Move the alias declarations to a separate file which is produced when calling makegalias.pl -def * glib/Makefile.am (galiasdef.c): Add a rule to generate this file. * glib/*.c: Include galias.h after the other GLib headers, include galiasdef.c at the bottom.
* glib/gasyncqueue.c glib/ghook.c g_return_if_fail -> g_return_val_if_failManish Singh2004-11-081-2/+2
| | | | | | | | | | | Mon Nov 8 10:45:50 2004 Manish Singh <yosh@gimp.org> * glib/gasyncqueue.c * glib/ghook.c * glib/giochannel.c: g_return_if_fail -> g_return_val_if_fail * glib/gmain.c: Ditto, plus also make g_main_context_ref() actually return the passed in pointer.
* Make g_io_channel_ref(), g_main_context_ref(), g_hook_ref(),Matthias Clasen2004-11-081-1/+5
| | | | | | | | | | | 2004-11-08 Matthias Clasen <mclasen@redhat.com> * glib/gasyncqueue.[hc]: * glib/ghook.[hc]: * glib/gmain.[hc]: * glib/giochannel.[hc]: Make g_io_channel_ref(), g_main_context_ref(), g_hook_ref(), g_async_queue_ref() return the passed in pointer. (#151663, Manish Singh)
* Apply a patch to fix sparse warnings. (#154696, Kjartan Maraas)Matthias Clasen2004-10-241-1/+1
| | | | | | | | | 2004-10-23 Matthias Clasen <mclasen@redhat.com> * glib/gasyncqueue.c, glib/gatomic.c, glib/gdate.c, glib/giochannel.c, glib/gmain.c, glib/gspawn.c, glib/libcharset/localcharset.c: Apply a patch to fix sparse warnings. (#154696, Kjartan Maraas)
* Implement the same PLT reduction technique used in GTK+:Matthias Clasen2004-09-161-0/+1
| | | | | | Thu Sep 16 02:03:15 2004 Matthias Clasen <maclas@gmx.de> Implement the same PLT reduction technique used in GTK+:
* Reading access to ref_count only with g_atomic_int_get().Sebastian Wilhelmi2004-02-271-16/+16
| | | | | | | 2004-02-27 Sebastian Wilhelmi <seppi@seppi.de> * glib/gasyncqueue.c, glib/gasyncqueue.h: Reading access to ref_count only with g_atomic_int_get().
* Use g_atomic_int_(inc|dec_and_test) for reference counting.Sebastian Wilhelmi2004-02-271-31/+20
| | | | | | | | | | 2004-02-27 Sebastian Wilhelmi <seppi@seppi.de> * glib/gasyncqueue.c, glib/gasyncqueue.h: Use g_atomic_int_(inc|dec_and_test) for reference counting. g_async_queue_unref_and_unlock and g_async_queue_ref_locked is deprecated, but still there to preserve ABI.
* Lazy creation of GCond. Only signal GCond, if threads are waiting.Sebastian Wilhelmi2004-02-181-3/+9
| | | | | | | 2004-02-18 Sebastian Wilhelmi <seppi@seppi.de> * glib/gasyncqueue.c: Lazy creation of GCond. Only signal GCond, if threads are waiting.
* Remove some explicit Docbook markup which is no longer necessaryMatthias Clasen2003-07-251-1/+1
| | | | since gtk-doc does the right thing.
* Patch from Sven Neumann to make the include order consistent. (#71704)Owen Taylor2002-12-041-0/+3
| | | | | | | Tue Dec 3 20:22:27 2002 Owen Taylor <otaylor@redhat.com> * glib/*.c: Patch from Sven Neumann to make the include order consistent. (#71704)
* Remove references to nonexisting functionsMatthias Clasen2002-05-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * glib/gmain.c: Remove references to nonexisting functions g_source_set_callback_closure(), g_source_poll(), g_source_add() from docs. * glib/gdir.c (g_dir_open): Typo fix in docs. * glib/gasyncqueue.c (g_async_queue_lock): (g_async_queue_unref_and_unlock): Fix markup to avoid erroneous <link>s in docs. * glib/gwin32.c: Escape #'s leading to erroneous <link>s in docs. * glib/gtree.c: Replace some occurances of Gtree by GTree in docs. * glib/gstring.c (g_string_insert_unichar): Typo fix in docs. * glib/tmpl/conversions.sgml: Add GIConv. * glib/tmpl/main.sgml: Fix references to nonexisting functions g_main_loop_destroy(), g_source_add(), g_source_connect(). * glib/glib-sections.txt: Add GIConv, g_str_has_prefix, g_str_has_suffix. * glib/tmpl/linked_lists_single.sgml: * glib/tmpl/linked_lists_double.sgml: GListAllocator doesn't exist. * glib/glib-docs.sgml: Declare hash entity. * glib/tmpl/macros.sgml: Escape # in #ifdef to suppress erroneous links. * gobject/Makefile.am, gobject/gobject-docs.sgml, gobject/tmpl/*: * glib/Makefile.am, glib/glib-docs.sgml, glib/tmpl/*: Produce XML, not SGML.
* Minor markup fixes.Matthias Clasen2001-12-161-19/+19
| | | | | | | | * glib/gshell.c, glib/gspawn.c, glib/gspawn-win32.c, glib/gerror.c, glib/gfileutils.c, glib/ghash.c, glib/gmain.c, glib/gasyncqueue.c, glib/gtree.c: Minor markup fixes. * glib/tmpl/caches.sgml: GCs are cached by GTK, not by GDK.
* Changes for 64-bit cleanliness, loosely based on patch from Mark Murnane.Owen Taylor2001-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Jun 20 12:00:54 2001 Owen Taylor <otaylor@redhat.com> Changes for 64-bit cleanliness, loosely based on patch from Mark Murnane. * gconvert.c (g_convert/g_convert_with_fallback): Remove workarounds for since-fixed GNU libc bugs. Minor doc fix. * gconvert.[ch]: Change gint to gsize/gssize as appropriate. * gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect computation of bytes_read / bytes_written. * gfileutils.[ch] (g_file_get_contents): Make length out parameter 'gsize *len'. * ghook.c (g_hook_compare_ids): Don't compare a and b as 'a - b'. * gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE, GSIZE_TO_POINTER. * gmain.c (g_timeout_prepare): Rewrite to avoid overflows. (Fixes bug when system clock skews backwards more than 24 days.) * gmarkup.[ch]: Make lengths passed to callbacks gsize, length for g_markup_parse-context_parse(), g_markup_escape_text() gssize. * gmessages.[ch] (g_printf_string_upper_bound): Change return value to gsize. * gmessages.c (printf_string_upper_bound): Remove a ridiculous use of 'inline' on a 300 line function. * gstring.[ch]: Represent size of string as a gsize, not gint. Make parameters to functions take gsize, or gssize where -1 is allowed. * gstring.c (g_string_erase): Make g_string_erase (string, pos, -1) a synonym for g_string_truncate for consistency with other G* APIs. * gstrfuncs.[ch]: Make all functions taking a string length, take a gsize, or gssize if -1 is allowed. (g_strstr_len, g_strrstr_len). Also fix some boundary conditions in g_str[r]str[_len]. * gutf8.c tests/unicode-encoding.c: Make parameters that are byte lengths gsize, gssize as appropriate. Make character offsets, other counts, glong. * gasyncqueue.c gcompletion.c timeloop.c timeloop-basic.c gutils.c gspawn.c. Small 64 bit cleanliness fixups. * glist.c (g_list_sort2, g_list_sort_real): Fix functions that should have been static. * gdate.c (g_date_fill_parse_tokens): Fix extra declaration that was shadowing another. * tests/module-test.c: Include string.h Mon Jun 18 15:43:29 2001 Owen Taylor <otaylor@redhat.com> * gutf8.c (g_get_charset): Make argument G_CONST_RETURN char **.
* Look for nanosleep function.Sebastian Wilhelmi2001-06-071-0/+6
| | | | | | | | | | | | | | | | | | 2001-06-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * configure.in: Look for nanosleep function. * gtimer.c: Use nanosleep for g_usleep, when found. * gtimer.c, gtimer.h: Add g_time_val_add function. Closes #54271. * gasyncqueue.c: Documentation updates. * gthreadpool.c: Use g_time_val_add now that we have it. * glib/glib-sections.txt, glib/tmpl/date.sgml: Add g_time_val_add. * glib/tmpl/threads.sgml: Updated.
* Added documentation for asynchronous queues.Sebastian Wilhelmi2000-11-021-11/+174
| | | | | | | | | | 2000-11-02 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * glib/tmpl/async_queues.sgml, glib/glib-sections.txt: Added documentation for asynchronous queues. * gasyncqueue.c: Added inline documentation for asyncronous queues.
* applied patch from Andreas Persenius <ndap@swipnet.se> that updates theTim Janik2000-07-261-3/+3
| | | | | | | | Wed Jul 26 12:59:31 2000 Tim Janik <timj@gtk.org> * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that updates the license headers to the GNU Lesser General Public License, as well as updating the copyright year to 2000.
* added gobjectTim Janik2000-05-121-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fri Apr 28 23:54:35 2000 Tim Janik <timj@gtk.org> * setup things for a new sub-library libgobject: * Makefile.am (SUBDIRS): added gobject * glib-config.in: feature -lgobject. * configure.in (AC_OUTPUT): generate gobject/Makefile. * glib.m4 (AM_PATH_GLIB): feature gobject module. * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.* Fri Apr 28 21:41:49 2000 Tim Janik <timj@gtk.org> * glib.h: added G_STRLOC macro. G_STRUCT_OFFSET(): signedness corrections. (G_CSET_DIGITS): list 0-9. * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS. * glib.h: * gstrfuncs.c: (g_strdown): (g_strup): (g_strreverse): return the modified string instead of void, so calls to these functions can be nested. (g_strcanon): new function, canonicalizes string according to a given character set. Fri Apr 28 19:45:16 2000 Tim Janik <timj@gtk.org> * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
* New File implementing an asynchronous queue to be used for asynchronousSebastian Wilhelmi2000-04-281-0/+276
2000-04-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * gasyncqueue.c: New File implementing an asynchronous queue to be used for asynchronous inter-thread communication. * gthreadpool.c: New File implementing a thread pool to be used for distributing work among several threads. * glib.h: Added the type and function declarations for these two types. * tests/threadpool-test.c: New File implementing a test for the thread pool. This also checks the asynchronous queue underlying the thread pool. * tests/Makefile.am: Changed accordingly.