354 Commits

Author SHA1 Message Date
Hans Breuer
fc9afe0d21 added g_hash_table_find and a bunch of g_queue_*
2003-02-26 Hans Breuer  <hans@breuer.org>

	* glib/glib.def : added g_hash_table_find and a
	bunch of g_queue_*

	* glib/gmain.c : make it compile on win32,
	child_wake_up_pipe replaced by semaphore like it is done
	for the other wake_up_pipe

	* config.h.win32.in : added HAVE_INT64_AND_I64
	* glibconfig.h.win32.in : G_MAXSIZE .. G_M??INT64,
	and typedef for GPid

	* test/env-test.c : don't let the local log function
	collide in namespace with standard C
2004-02-25 23:48:22 +00:00
Matthias Clasen
e906108048 Include signal.h for SIGCHLD. (#134622, Damien Carbery)
Wed Feb 18 23:57:42 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gmain.c: Include signal.h for SIGCHLD.  (#134622, Damien
	Carbery)
2004-02-18 22:55:15 +00:00
Sebastian Wilhelmi
f18db7d2d4 Set context->wake_up_pipe only for G_THREADS_ENABLED.
2004-02-18  Sebastian Wilhelmi  <seppi@seppi.de>

	* glib/gmain.c (g_main_context_new): Set context->wake_up_pipe
	only for G_THREADS_ENABLED.
2004-02-18 09:14:17 +00:00
Matthias Clasen
540d02ba8b Wrap waitpid() as a GSource. This is a partial implementation of the "Unix
Sat Feb 14 01:21:34 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gmain.h:
	* glib/gmain.c (g_child_watch_source_new):
	* glib/gmain.c (g_child_watch_add):
	* glib/gmain.c (g_child_watch_add_full): Wrap waitpid() as a
	GSource. This is a partial implementation of the "Unix signal
	source".  (#50296, Jonathan R. Blandford)

	* configure.in: Add the necessary configury to typedef GPid
	appropriately.

	* tests/Makefile.am:
	* tests/child-test.c: Test child_watch sources.
2004-02-14 00:23:36 +00:00
Owen Taylor
3f1a49ea41 Set the return value from the result of g_main_context_check() (after we
Sat Nov  1 08:45:38 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_main_context_iterate): Set the
        return value from the result of g_main_context_check()
        (after we poll) rather than g_main_context_prepare.
        (#121675, Padraig O'Briain)
2003-11-01 13:57:48 +00:00
Owen Taylor
2afc40f3a6 When DISABLE_MEM_POOLS is set, loop through and free the poll records
Mon Aug 25 12:17:20 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_main_context_unref_and_unlock):
        When DISABLE_MEM_POOLS is set, loop through and free
        the poll records explicitely, since g_mem_chunk_destroy()
        won't do it. (#118121, Morten Welinder)
2003-08-25 16:20:41 +00:00
Tor Lillqvist
3f3bb7fef3 [Win32] Don't exceed handle array bounds. Warn if there would be too many
2003-08-15  Tor Lillqvist  <tml@iki.fi>

	* glib/gmain.c (g_poll): [Win32] Don't exceed handle array
	bounds. Warn if there would be too many handles to wait
	for. (WaitForMultipleObjects() has a relatively low limit of 64
	handles. The Win32 IO channel code should be fixed not to need to
	wait for one handle per file or socket being watched. Later.)
2003-08-15 05:06:16 +00:00
Owen Taylor
b51c0d2f70 Make the default priority for idle sources G_PRIORITY_DEFAULT_IDLE as
Thu Aug  7 14:15:44 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_idle_source_new): Make the default priority
        for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would
        expect and document that. (#114461, reported by Andy Wingo)
2003-08-07 18:19:23 +00:00
Matthias Clasen
a412fb1654 Remove some explicit Docbook markup which is no longer necessary
since gtk-doc does the right thing.
2003-07-25 21:32:47 +00:00
Manish Singh
ca1ff92c51 check if context->poll_chunk is set before trying to destroy it. For
Wed Jul  9 16:27:26 2003  Manish Singh  <yosh@gimp.org>

        * glib/gmain.c (g_main_context_unref_and_unlock): check if
        context->poll_chunk is set before trying to destroy it. For example,
        This can happen if no sources are added to a context before it is
        freed.
2003-07-09 23:31:20 +00:00
Owen Taylor
4a21238fef When dispatching a source that is !CAN_RECURSE, temporarily remove any
Thu Jun  5 23:40:31 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c: When dispatching a source that is
        !CAN_RECURSE, temporarily remove any file descriptors
        that that source has registered from the main loop, to keep
        recursive main loops from busy-waiting if input
        becomes available on one of those file descriptors.
        (#112222, Christian Krause)

        * glib/gmain.c (g_source_set_priority): Properly
        remove the source from the context's source list
        and reinsert it sorted, rather than simply setting
        source->next/prev to NULL! (#114274)
2003-06-06 03:54:03 +00:00
Tor Lillqvist
1cf610e216 glib/giochannel.h Remove bogus (Win32-only) declaration of
2003-06-05  Tor Lillqvist  <tml@iki.fi>

	* glib/giochannel.h
	* glib/gmain.h: Remove bogus (Win32-only) declaration of
	g_main_poll_win32_msg_add(). No such function exists.

	* glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
	better warning messages.
2003-06-05 22:18:27 +00:00
Owen Taylor
5b4af3060f When waiting for the main loop to be freed up, wait on either
Mon Apr  7 13:40:28 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_main_loop_run): When waiting for
        the main loop to be freed up, wait on either
        !loop->is_running or got_ownership, not both.
        (Caused gtk_dialog_run() not to work in other
        threads, reported by Jean-Yves Lefort)
2003-04-07 17:50:53 +00:00
Matthias Clasen
ea9a7199a1 Fix FALSE/NULL confusion. (#107646, Morten Welinder)
2003-03-06  Matthias Clasen  <maclas@gmx.de>

	* glib/gmain.c (g_main_context_find_source_by_id):
	(g_main_context_find_source_by_funcs_user_data): Fix FALSE/NULL
	confusion.  (#107646, Morten Welinder)
2003-03-06 22:41:03 +00:00
Sebastian Wilhelmi
8e91cf9eb9 Fixes for #101264 and #99372:
2003-02-14  Sebastian Wilhelmi  <seppi@seppi.de>

	Fixes for #101264 and #99372:

	* glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c,
	glib/grand.c: Include gthreadinit.h and rename the thread
	initialization functions a bit and let them start with _, so that
	later we can stop exporting them.

	* glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to
	new functions. They have to be called after setting
	g_threads_got_initialized to TRUE (see #101264).

	* glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to
	g_thread_init_glib(). Call the thread initialization functions
	(which are not allowed to call g_private_new), then set
	g_threads_got_initialized to TRUE, then call the other thread
	initialization functions (which must not call anything but
	g_private_new()).

	* glib/gthreadinit.h: New private header to cleanly declare all
	thread initialization functions.

	* gthread/gthread-impl.c: Include gthreadinit.h. In
	g_thread_init() just call g_thread_init_glib(), which in turn calls the
	other functions (see #99372).

	* glib/Makefile.am: Added gthreadinit.h.
2003-02-14 15:08:46 +00:00
Soeren Sandmann
d201974f56 Trivial s/foo/foo_/ fixes to make <glib.h> includable with -Wshadow
Fri Nov  8 19:44:20 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* docs/reference/glib/tmpl/arrays.sgml:
	* docs/reference/glib/tmpl/arrays_byte.sgml:
	* docs/reference/glib/tmpl/arrays_pointer.sgml:
	* docs/reference/glib/tmpl/date.sgml:
	* docs/reference/glib/tmpl/linked_lists_double.sgml:
	* docs/reference/glib/tmpl/linked_lists_single.sgml:
	* docs/reference/glib/tmpl/main.sgml:
	* docs/reference/glib/tmpl/queue.sgml:
	* docs/reference/glib/tmpl/random_numbers.sgml:
	* docs/reference/glib/tmpl/relations.sgml:
	* docs/reference/glib/tmpl/scanner.sgml:
	* docs/reference/gobject/tmpl/gtype.sgml:
	* docs/reference/gobject/tmpl/value_arrays.sgml glib/garray.h:
	* glib/gdate.h glib/giochannel.h glib/glist.h glib/gmain.c:
	* glib/gmain.h glib/gqueue.c glib/gqueue.h glib/grand.c glib/grand.h:
	* glib/grel.h glib/gslist.h glib/gtimer.h gobject/gvaluearray.h:

	Trivial s/foo/foo_/ fixes to make <glib.h> includable with
	-Wshadow without warnings (#91680)
2002-11-08 18:47:56 +00:00
Tor Lillqvist
a488638747 Don't set on Win32, only causes trouble.
2002-10-27  Tor Lillqvist  <tml@iki.fi>

	* configure.in (G_MODULE_LDFLAGS): Don't set on Win32, only causes
	trouble.

	* glib/gmain.c (g_poll): Fix for bug reported by Herman Bloggs
	(http://mail.gnome.org/archives/gtk-devel-list/2002-October/msg00101.html)
	and others. We waited for events only for GPollFDs whose events
	field had G_IO_IN set. We need to wait also for events for
	GPollFDs that have just G_IO_OUT set. Non-blocking sockets in the
	process of being connect()ed are one such case. Also silence a
	couple of gcc warnings.
2002-10-26 22:53:21 +00:00
Soeren Sandmann
4acacec101 Documentation fixes: (#75255, Martin Schulze; #76104, Daryll Strauss)
2002-09-01  Soeren Sandmann  <sandmann@daimi.au.dk>

	* docs/reference/glib/tmpl/datalist.sgml, glib/gmain.c:

	Documentation fixes: (#75255, Martin Schulze; #76104, Daryll Strauss)
2002-09-01 13:04:02 +00:00
Sebastian Wilhelmi
659fd4113b Factor out g_main_context_init_pipe from g_main_context_new to initialize
2002-08-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gmain.c: Factor out g_main_context_init_pipe from
	g_main_context_new to initialize the wakeup pipe of a
	context. Call that function from g_main_context_new if threads are
	initialized and for all contexts when threads are initialized
	in g_main_thread_init. (#86872)

	* gthread/gthread-impl.c: Call g_main_thread_init. (#86872)
2002-08-06 14:50:52 +00:00
Owen Taylor
1d3b965d07 Remove reference in the docs to @notify parameter. (#87768, Manuel Clos)
Thu Jul 25 19:02:53 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_timeout_add): Remove reference
        in the docs to @notify parameter. (#87768,
        Manuel Clos)
2002-07-25 23:04:22 +00:00
Owen Taylor
52644b08e7 Make interval unsigned to match g_timeout_source_new(). (#82624, Tim
Thu Jun 13 16:12:04 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (struct _GTimeoutSource): Make
        interval unsigned to match g_timeout_source_new().
        (#82624, Tim Janik.)

        * glib/gmain.c (g_timeout_prepare): Add some
        extra gymnastics to avoid signed/unisgned integer
        overflows.
2002-06-13 20:14:43 +00:00
Matthias Clasen
5e45a337b8 Remove references to nonexisting functions
* 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.
2002-05-26 22:46:28 +00:00
Matthias Clasen
720e9f5e66 Finish docs. (#67064)
* glib/gmain.c (g_source_set_priority): Finish docs.
	(#67064)
2002-03-05 22:56:49 +00:00
Havoc Pennington
ad24759fc1 never dispatch sources of mixed priority, because while iterating over the
2002-02-13  Havoc Pennington  <hp@redhat.com>

	* glib/gmain.c (g_main_context_check): never dispatch sources of
	mixed priority, because while iterating over the dispatch array a
	new source with more priority may be added, while a source with
	less priority remains in the dispatch array
2002-02-13 22:37:26 +00:00
Owen Taylor
a3d982007e Handle NULL entries (already dispatched) in pending_dispatches array
Wed Feb  6 14:44:18 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_main_context_prepare): Handle
        NULL entries (already dispatched) in pending_dispatches array
        (pointed out by Manish Singh)
2002-02-06 19:45:56 +00:00
Owen Taylor
c55b9a4f44 Unref pending dispatches when discarding them.
Tue Feb  5 17:13:02 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_main_context_prepare): Unref pending
        dispatches when	discarding them.
2002-02-06 00:37:38 +00:00
Manish Singh
cf67c99825 eek, correct typo 2002-02-03 01:05:55 +00:00
Manish Singh
09a6f7be53 glib/gmain.c remove references to deprecated functions in docs and warning
2002-02-02  Manish Singh  <yosh@gimp.org>

        * glib/gmain.c
        * glib/gtree.c: remove references to deprecated functions in docs
        and warning message.
2002-02-03 01:04:32 +00:00
Matthias Clasen
a52e2986cd Minor markup fixes.
* 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.
2001-12-16 19:31:36 +00:00
Matthias Clasen
a3d7806b6d Revert mistaken change: it is UNIX, not Unix.
* glib/tmpl/completion.sgml, glib/tmpl/date.sgml,
        glib/tmpl/fileutils.sgml, glib/tmpl/iochannels.sgml,
        glib/tmpl/macros.sgml, glib/tmpl/memory.sgml,
        glib/tmpl/misc_utils.sgml, glib/tmpl/warnings.sgml,
        glib/tmpl/windows.sgml: Revert mistaken change: it is UNIX, not Unix.

        * glib/tmpl/memory_chunks.sgml,
        glib/tmpl/date.sgml, glib/tmpl/threads.sgml,
        glib/tmpl/gtype.sgml: Trivial markup fixes.

        * glib/gconvert.c, glib/giochannel.c, glib/gmain.c,
        glib/gwin32.c: Revert mistaken change: it is UNIX, not Unix.
2001-12-13 22:24:18 +00:00
Owen Taylor
13852a10d4 Rename (private) GSource.id and id parameter to
Wed Nov 28 18:34:22 2001  Owen Taylor  <otaylor@redhat.com>
        * glib/gmain.[ch]: Rename (private) GSource.id and
        id parameter to g_main_context_find_source_by_id()
        to avoid problems with Objective C where 'id' is
        a keyword. (#65616)
2001-11-28 23:51:51 +00:00
Havoc Pennington
24915b9a10 fix to the locking so we don't hang
2001-10-31  Havoc Pennington  <hp@redhat.com>

	* glib/gmain.c (g_main_loop_run): fix to the locking so we don't
	hang
2001-11-01 00:01:50 +00:00
Sebastian Wilhelmi
5cdbc63e47 Use the right conditional (G_THREADS_ENABLED instead of G_THREAD_ENABLED).
2001-10-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gmain.c (g_main_context_acquire, g_main_context_release,
	g_main_context_wait): Use the right conditional (G_THREADS_ENABLED
	instead of G_THREAD_ENABLED). Also remove wrong
	return-statement. Unfortunately mainloop-test still does fail. Many
	thanks to Andrea Fazekas <fazek@ludens.elte.hu> for spotting
	this. (#63455)
2001-10-31 13:49:53 +00:00
Sebastian Wilhelmi
7f7a422ce5 Conditionalize thread related calls. (#63091)
2001-10-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gmain.c (g_main_loop_quit): Conditionalize thread related
	calls. (#63091)
2001-10-29 11:09:53 +00:00
Bruno Haible
34462896a0 When the sublangid is SUBLANG_DEFAULT, return the locale of the language's
2001-09-24  Bruno Haible  <haible@clisp.cons.org>

	* glib/gwin32.c (g_win32_getlocale): When the sublangid is
	SUBLANG_DEFAULT, return the locale of the language's main country,
	not a country-neutral locale. E.g. "en_US" instead of "en". Add
	handling of LANG_SORBIAN. Fix typo for SUBLANG_CHINESE_SIMPLIFIED
	(China == CN, CH == Switzerland). Ignore empty environment
	variable values.

2001-09-28  Tor Lillqvist  <tml@iki.fi>

	* glib/makefile.{mingw,msc}.in: Add localcharset.o. Just copy the
	source file from libcharset and compile in this directory.

	* glib/giochannel.c: Mark rest of g_set_error strings for
	translation, too.

	* glib/giowin32.c: Add some debugging output functions, call them
	when debugging.
	(create_events, g_io_win32_msg_write): Free message fetched with
	g_win32_error_message ().
	(g_io_win32_check): Indentation fixes.
	(g_io_win32_fd_read,g_io_win32_sock_read): Don't always return
	G_IO_STATUS_NORMAL. Do return G_IO_STATUS_EOF if we got 0 bytes,
	like on Unix. This helps making the test programs run
	successfully.

	* glib/gmain.c (g_poll): Return the code ifdeffed out with
	TEST_WITHOUT_THIS. Can't remember why it was ifdeffed out. Things
	seem to work as previously with the code in place. Especially
	spawn-test didn't work with the code ifdeffed out (Bug#61067).

	* glib/grand.c (g_rand_new): Don't try to use /dev/urandom unless
	on Unix.

	* glib/gspawn-win32-helper.c (WinMain): Remove Sleep(10000)
	accidentally left in.

gthread:

2001-09-28  Tor Lillqvist  <tml@iki.fi>

	* gthread-win32.c: Use an extra level of indirection for GMutex.
	It is now a pointer either to a pointer to a CRITICAL_SECTION
	struct, or to a mutex HANDLE. This is needed in case the user
	defines G_ERRORCHECK_MUTEXES. G_MUTEX_SIZE must correctly reflect
	the size of *GMutex, but this used to vary depending on whether we
	at run-time chose to use CRITICAL_SECTIONs or mutexes.
	(g_mutex_free_win32_cs_impl, g_cond_free_win32_impl): Call
	DeleteCriticalSection() when done with it.

	* gthread-impl.c (g_thread_init_with_errorcheck_mutexes): Call
	g_thread_impl_init() before accessing
	g_thread_functions_for_glib_use_default, as the
	g_thread_impl_init() function might modify it.

po:

2001-09-28  Tor Lillqvist  <tml@iki.fi>

	* POTFILES.in: Add iochannel.c and giowin32.c.

	* sv.po: Remove a bogus fuzziness indicator.
2001-09-27 22:07:00 +00:00
Owen Taylor
ffe592544f Fix handling of user data when locating sources. (#60414, Katsuhiro Okuno)
Wed Sep 19 16:35:22 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gmain.c (g_main_context_find_source_by[_funcs]_user_data):
	Fix handling of user data when locating sources.
	(#60414, Katsuhiro Okuno)
2001-09-19 20:39:21 +00:00
Tor Lillqvist
812b4b00af glib/gmain.c Mark the _funcs tables for export.
2001-09-18  Tor Lillqvist  <tml@iki.fi>

	* glib/gmain.c
	* glib/giowin32.c: Mark the _funcs tables for export.

	* glib/glib.def: Add here, too.

	* glib/gwin32.c (get_package_directory_from_module): No reason to
	check for the module being in a bin or lib directory only when
	module_name is non-NULL.

	* glib/gwin32.c (g_win32_get_package_installation_directory):
	Check first in HKEY_CURRENT_USER, then in HKEY_LOCAL_MACHINE.

	* gmodule/Makefile.am: On Win32, pass a dummy -rpath flag to
	libtool when building libgplugin_[ab].la, otherwise libtool
	doesn't create a DLL, but a static archive.
2001-09-17 22:39:57 +00:00
Owen Taylor
16fc3b22c0 Doc fixes.
Mon Sep 10 11:42:58 2001  Owen Taylor  <otaylor@redhat.com>

        * glib/gutf8.c glib/gstring.c glib/gfileutils.c glib/gmain.c:
        Doc fixes.
2001-09-10 15:50:26 +00:00
Owen Taylor
b4c3107c7a Add closure_marshal/closure_callback fields to GSourceFuncs for use by
Mon Aug 27 14:56:12 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gmain.h: Add closure_marshal/closure_callback
	fields to GSourceFuncs for use by g_source_set_closure().

	* glib/gmain.c glib/giounix.c glib/giowin32.c
	  glib/gmain.h: Export the SourceFuncs vtables so GObject
	can use them to figure out closure callbacks/marshallers
	for the default source types.

Mon Aug 27 14:55:27 2001  Owen Taylor  <otaylor@redhat.com>

	* gsourceclosure.[ch] (g_source_set_closure): Implement.

	* gsourceclosure.[ch]: Add GType's for GIOChannel, GIOCondition.
2001-09-03 22:12:51 +00:00
Sebastian Wilhelmi
cf11b57917 Don't free cached_poll_array, when adding new poll's. This is taken care
2001-08-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gmain.c (g_main_context_add_poll_unlocked): Don't free
	cached_poll_array, when adding new poll's. This is taken care for
	in g_main_context_iterate.
2001-08-30 13:25:34 +00:00
Owen Taylor
8079eb3456 Eliminate use of floating point when determining if the hash table needs
Sun Aug 19 21:32:39 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/ghash.c: Eliminate use of floating point when
	determining if the hash table needs to be resized,
	and also factor out the test from g_hash_table_resize()
	to save function calls for the common case.
	(#59124)

	* glib/gmain.c (g_main_context_query): Document the
        return value.
2001-08-20 01:37:50 +00:00
Sebastian Wilhelmi
1107552617 Add some assertions. Simplify and fix g_main_context_release(). Fix some
2001-07-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gmain.c: Add some assertions. Simplify and fix
	g_main_context_release(). Fix some locking bugs in
	g_main_loop_run().
2001-07-17 08:49:23 +00:00
Darin Adler
624a3c9689 Add some generated files.
* .cvsignore: Add some generated files.

        * glib/gmain.c: (g_main_context_iterate): Comment out cruft
        after #endif to avoid gcc warning.
        * gmodule/gmodule.c: (g_module_set_error_unduped): Remove
        const from type to avoid gcc warning.
        * gobject/gsignal.c: (g_signal_emitv): ifdef variable used
        only if G_ENABLE_DEBUG to avoid gcc warning.
        * gobject/gtype.c: (type_iface_vtable_init_Wm),
        (type_iface_vtable_finalize_Wm): ifdef call needed only
        if !G_DISABLE_ASSERT to avoid gcc warning.
        * tests/testglib.c: (main): ifdef call needed only if
        !G_DISABLE_ASSERT to avoid gcc warning. Maybe later we
        should make the test to #undef G_DISABLE_ASSERT.
        * tests/unicode-collate.c: Add include of <string.h> to
        avoid gcc warning.
2001-07-11 20:08:50 +00:00
Owen Taylor
b37e7bbb53 Rename GSourceFuncs::destroy to GSourceFuncs::finalize. (#56858)
Sat Jun 30 16:03:16 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/giowin32.c glib/giounix.c glib/gmain.[ch]:
	Rename GSourceFuncs::destroy to GSourceFuncs::finalize.
	(#56858)
2001-06-30 20:06:16 +00:00
Owen Taylor
8951f96c50 Make some changes to the way that GMainContext works:
Sat Jun 30 15:49:10 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gmain.[ch]: (Mostly patch from Sebastian Wilhemi)
	Make some changes to the way that GMainContext works:

	 - a GMainContext is no longer associated with a single
	   thread, but any thread can acquire ownership
	   of thread and iterate.

	 - There is a facility g_main_context_wait() for
	   non-owner-threads to wait either for ownership
	   or for a condition to be broadcast.

	 - For efficiency, GMainLoop just piggybacks of
	   of the loops mutex / condition instead of
	   having a separate mutex/condition for each
	   GMainLoop.

	* glib/gthread.[ch]: Remove hacks to store the thread's
	GMainContext in the GThread structures, since we
	no longer have the GMainContext <=> GThread correspondence.

        * glib/gmain.[ch]: Make g_main_context_wakeup() public
	so someone could completely duplicate GMainLoop
	with the public API.

	* tests/mainloop-test: Fix up to the new API. Decidedly
	doesn't work at the moment, but that may be the IO
	channel changes, or preexisting locking problems.
2001-06-30 19:56:47 +00:00
Owen Taylor
f5c28ce4ab Changes for 64-bit cleanliness, loosely based on patch from Mark Murnane.
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 **.
2001-06-23 13:55:09 +00:00
Tim Janik
e28e398eb0 unlock context when bailing out with a warning. (g_main_context_check):
Sun May 27 05:09:18 2001  Tim Janik  <timj@gtk.org>

        * gmain.c (g_main_context_prepare): unlock context when bailing
        out with a warning.
        (g_main_context_check): same here.

        * gmain.c (g_main_context_check): before returning due to
        changed pollfds, unlock context.

Sun May 27 04:52:28 2001  Tim Janik  <timj@gtk.org>

        * gsignal.[hc] (g_signal_stop_emission_by_name): added variant
        to stop signal emissions through a detailed_signal string.

        * gsignal.c (signal_emit_R) (g_signal_emit_valist): account for
        the fact that g_value_* functions may cause signal emissons by
        unlocking the global signal system lock around g_value_* functions.
        (signal_emit_unlocked_R): renamed this from signal_emit_R() to reflect
        that this functions acquires the lock on its own now.
2001-05-27 18:28:58 +00:00
Sebastian Wilhelmi
cd00d6e2cc Moved func and arg members from GRealThread to GThread, such that they can
2001-05-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gmain.c, gthread.c, gthread.h: Moved func and arg members from
	GRealThread to GThread, such that they can be accessed by the
	user.

	* gthread.c, gthread.h: Due to popular demand (Tim being the
	populus here ;-) threads now have a 'return value', which is
	returned by g_thread_join and is either the return of the topmost
	thread function or the value given to g_thread_exit.

	* gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c:
	Adapted to the above change.
2001-05-08 08:23:18 +00:00
Sebastian Wilhelmi
7b06f826c9 Use the new GRealThread member "context" instead of a GStaticPrivate to
2001-04-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gmain.c: Use the new GRealThread member "context" instead of a
	GStaticPrivate to store the thread specific main loop context.

	* gthread.c: Added "context" member to GRealThread and updated
	g_thread_create, g_thread_self and g_thread_cleanup accordingly.

	* gthread.c, gthread.h: Removed the functions
	g_static_private_(get|set)_for_thread and adapted
	g_static_private_(get|set) and g_static_private_free accordingly.
2001-04-02 16:34:08 +00:00
Owen Taylor
53be713583 Add missing implementation ofsource->priority, g_source_remove_poll.
Thu Feb 22 10:31:36 2001  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_source_remove_poll): Add missing implementation
	ofsource->priority,  g_source_remove_poll. (Pointed out by Stefan Westerfeld)
2001-02-22 15:39:57 +00:00