Commit Graph

93 Commits

Author SHA1 Message Date
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
Tor Lillqvist
c2bd295c57 giochannel.h giowin32.c Stylistic cleanups. Use G_STRLOC in g_warning()
2001-02-02  Tor Lillqvist  <tml@iki.fi>

	* giochannel.h
	* giowin32.c
	* gmain.c: Stylistic cleanups. Use G_STRLOC in g_warning() calls.

	* glib.def: Add missing functions.

2001-01-31  Tor Lillqvist  <tml@iki.fi>

	* glibconfig.h.win32.in: Corresponding change as below to
	GStaticMutex.
2001-02-01 22:28:48 +00:00
Tor Lillqvist
8a0df0a71c Socket support rewritten. It was utterly broken, and untested in fact. We
2001-01-25  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c: Socket support rewritten. It was utterly broken, and
	untested in fact. We still do use a thread for each socket being
	watched, but instead of blocking in recv() (which of course was
	plain stupid for sockets being liste()ed on), we block in
	select(). The read method for sockets calls recv(). It is now
	possible for the application to call accept(), recv() or send() in
	the callback, just like on Unix. Tested with code kindly provided
	by Andrew Lanoix.

	Rename g_io_channel_win32_new_stream_socket() to
	g_io_channel_win32_new_socket() as it isn't restricted to stream
	sockets.

	* gmain.c (g_poll): Related changes in the Win32 version of
	g_poll(). When polling for messages, always do a PeekMessage()
	first. We used to miss messages if several were posted between
	calls to g_poll().

	* giochannel.h: Improve Win32-related comments.

	* gutf8.c: (Win32) Include <stdio.h> for sprintf.

	* tests/gio-test.c: (Win32) Add tests for polling for Windows
	messages.

	* tests/makefile.mingw.in: Remove superfluous compilation command
	line.
2001-01-25 21:16:46 +00:00
3
6d14518018 Free the callback (g_source_set_callback): Initialize the callback
2001-01-23    <alexl@redhat.com>

	* gmain.c (g_source_callback_unref): Free the callback
	(g_source_set_callback): Initialize the callback refcount
2001-01-23 07:35:52 +00:00
Owen Taylor
3ae4c59e3f Switch GMainLoop to be ref/unref, use to make dropping reference to
Wed Jan  3 14:10:49 2001  Owen Taylor  <otaylor@redhat.com>

	* gmain.[ch]: Switch GMainLoop to be ref/unref, use to
	make dropping reference to running loop safe.
2001-01-03 20:18:40 +00:00
Owen Taylor
07267bf096 Unref callback->cb_data if it was still set when the source is freed.
Wed Dec 13 20:41:49 2000  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_source_unref_internal): Unref callback->cb_data
	if it was still set when the source is freed. (Usually, this
	will be done by g_source_destroy.)
2001-01-03 16:05:39 +00:00
Tor Lillqvist
b74e7d2f47 Warn if no callback. Call callback correctly. (g_io_win32_create_watch):
2000-12-14  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
	callback correctly.
	(g_io_win32_create_watch): Fix typo.
	(g_io_win32_fd_create_watch): Ditto.
	(g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
	fd lookalike provided by the C library), call
	g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
	call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
	fds don't overlap. TODO: Implement also datagram sockets.
	(g_io_channel_win32_poll): Call g_main_context_get_poll_func().

	* gcompletion.h: Include <unistd.h> only on Unix. Is this
	inclusion really needed here? OTOH, do include <stddef.h>, for
	size_t.

	* gmessages.c: (Win32) Don't define a function called "write" that
	might clash with the prototype from <io.h>, use a #define.

	* glib.def: Update.

	* gmain.c (g_source_add_poll): Don't return a value from void
	function.
	(g_main_context_get_poll_func): Compile also for non-Win32, as
	presumably was intended. The result var is a GPollFunc, not a
	GPollFunc*. Return the result!

gobject:

 2000-12-14  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Update, include parts from Makefile.am to
	build gmarshal.[ch]. Some day, we won't need these separate
	makefiles for Win32 compilation. I hope.

	* makefile.msc.in: Update. No use trying to build gmarshal.[ch]
	here, it would require Unixish tools. MSVC users building from CVS
	sources are out of luck.

	* gobject.def: Update.
2000-12-14 21:02:20 +00:00
Havoc Pennington
9edb08492d don't try to use thread stuff unless G_THREADS_ENABLED
2000-12-12  Havoc Pennington  <hp@pobox.com>

* gmain.c (g_main_context_destroy): don't try to use thread stuff
unless G_THREADS_ENABLED
(g_main_context_query): ditto
(g_main_context_check): ditto
(g_main_loop_quit): ditto
2000-12-13 04:23:45 +00:00
Owen Taylor
70a7a7654e Revert unauthorized changes.
Tue Dec 12 15:18:10 2000  Owen Taylor  <otaylor@redhat.com>

	* gmain.[ch]: Revert unauthorized changes.
2000-12-12 20:23:37 +00:00
Elliot Lee
8f7579774c GMainContext useful in implementing some additional styles of main loop
* gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): GMainContext useful
in implementing some additional styles of main loop usage.  To do this, however, Joe
Hacker needs to be able to create/destroy GMainContext's at will. This is just an
export of existing functionality, rather than new functionality.

They are listed in the "Low level functions for implementing custom main loops"
section of the header file, to avoid confusing people.

* gobject/Makefile.am:
  . You have to 'touch oldest-source-stamp' if you want to avoid having
  the Makefile constantly rebuild itself.
  . Fix marshaller generation rules to work with srcdir != builddir
    (there were issues with trying to run "./glib-genmarshal", etc.)
2000-12-12 19:34:41 +00:00
Owen Taylor
cbd74878d1 Remove pollfds from the context here, not when actually freeing the
Sun Dec 10 10:47:11 2000  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_source_destroy_internal): Remove pollfds
	from the context here, not when actually freeing the
	source.

	* gmain.c (g_source_unref_internal): Free source list
	and source, call source->source_funcs->destroy().

	* giochannel.c: Unreference io_channel properly.
2000-12-10 16:02:48 +00:00
Raja R Harinath
dc7d6c2464 Don't put anything after an #endif. Likewise.
* gmain.h: Don't put anything after an #endif.
* gmain.c: Likewise.
2000-12-08 03:39:47 +00:00