Commit Graph

17 Commits

Author SHA1 Message Date
Matthias Clasen
4bbde50716 Revert an accidental ABI break by moving gettime out of the
2007-01-16  Matthias Clasen  <mclasen@redhat.com>

        * glib/gthread.h:
        * glib/gthread.c:
        * glib/glib.symbols: Revert an accidental ABI break by
        moving gettime out of the GThreadFunctions struct and making
        it a separate variable.  (#397139, Joe Marcus Clarke)

        * gthread/*.c: Adapt.



svn path=/trunk/; revision=5279
2007-01-16 21:25:03 +00:00
Tor Lillqvist
098d17a4fc glib/gthread.c (gettime) GetSystemTimeAsFileTime() returns 100s of
2007-01-16  Tor Lillqvist  <tml@novell.com>

	* glib/gthread.c (gettime)
	* gthread-win32.c (g_gettime_win32_impl):
	GetSystemTimeAsFileTime() returns 100s of nanoseconds since 1601,
	so offset to Unix epoch (1970) and multiply by 100 to get
	nanoseconds which is what we want.


svn path=/trunk/; revision=5277
2007-01-16 13:57:05 +00:00
Tor Lillqvist
5d65767801 glib/gthread.c (gettime) GetSystemTimeAsFileTime() returns 100s of
2007-01-16  Tor Lillqvist  <tml@novell.com>

	* glib/gthread.c (gettime)
	* gthread-win32.c (g_gettime_win32_impl):
	GetSystemTimeAsFileTime() returns 100s of nanoseconds, so multiply
	by 100 to get nanoseconds which is what we want.


svn path=/trunk/; revision=5276
2007-01-16 10:45:58 +00:00
Matthias Clasen
541462ab1e Don't link glib against libpthread. (#393812)
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

	Don't link glib against libpthread.  (#393812)
	
	* configure.in: Link gthread against librt, not glib itself.

	* glib/gthread.h:
	* glib/gthread.c: Add a new thread function, gettime.

	* glib/gtimer.c: Use gettime instead of directly working with
	the various system interfaces.

	* gthread/gthread-impl.c:
	* gthread/gthread-posix.c:
	* gthread/gthread-win32.c: Implement gettime.
	

svn path=/trunk/; revision=5227
2007-01-08 05:13:15 +00:00
Tor Lillqvist
9216f204e5 Correct link to discussion about CRITICAL_SECTIONs vs. mutexes. Thanks to
2006-12-28  Tor Lillqvist  <tml@novell.com>

	* gthread-win32.c (g_thread_impl_init): Correct link to discussion
	about CRITICAL_SECTIONs vs. mutexes. Thanks to Felix Kater for
	pointing this out.
2006-12-28 10:48:39 +00:00
Sebastian Wilhelmi
685da6b099 Prevent calling into g_cond_wait resp. g_mutex_lock/unlock directly to
2006-05-10  Sebastian Wilhelmi  <wilhelmi@google.com>

	* gthread/gthread-posix.c, gthread/gthread-win32.c: Prevent
	calling into g_cond_wait resp. g_mutex_lock/unlock directly to
	avoid recursions into the errorcheking mutex code (and out of
	principle anyway). (#335198, Chris Wilson)
2006-05-11 00:08:31 +00:00
Sebastian Wilhelmi
307391459d Use canonical include form for internal headers. config.h is always there.
2006-05-09  Sebastian Wilhelmi  <wilhelmi@google.com>

	* glib/gprintf.c, glib/gspawn-win32.c, glib/gutf8.c,
	gthread/gthread-impl.c, gthread/gthread-posix.c,
	gthread/gthread-win32.c: Use canonical include form for internal
	headers. config.h is always there.
2006-05-09 23:07:27 +00:00
Tor Lillqvist
e1d80e9f7c Free with free() and not g_free() what has been allocated with calloc().
2006-05-03  Tor Lillqvist  <tml@novell.com>

	* gthread-win32.c (g_thread_exit_win32_impl): Free with free() and
	not g_free() what has been allocated with calloc(). (#340530, Jake
	Goulding)
2006-05-03 14:53:06 +00:00
Tor Lillqvist
4c27a10ad3 #define _WIN32_WINDOWS as 0x0401 to get declaration for
2006-03-11  Tor Lillqvist  <tml@novell.com>

	* gthread-win32.c: #define _WIN32_WINDOWS as 0x0401 to get
	declaration for IsDebuggerPresent() when using MSVC6. (#333879,
	Kazuki Iwamoto)
2006-03-11 20:43:42 +00:00
Tor Lillqvist
e94abca52d Increase to 100. 16 was rather low. (g_private_new_win32_impl): Can't use
2006-03-02  Tor Lillqvist  <tml@novell.com>

	* gthread-win32.c (G_PRIVATE_MAX): Increase to 100. 16 was rather
	low.
	(g_private_new_win32_impl): Can't use g_error() here as
	g_private_new() is called a few times by GLib internally before
	the messaging system that g_error() requires is ready. Thanks to
	Tim Janik for noticing. Just display a MessageBox() and abort()
	instead.
2006-03-02 12:05:40 +00:00
Tor Lillqvist
b4168ad3b2 Make the implementation of GPrivate behave more closely as in POSIX
2006-02-20  Tor Lillqvist  <tml@novell.com>

	* gthread-win32.c (g_thread_exit_win32_impl): Make the
	implementation of GPrivate behave more closely as in POSIX
	threads: The value associacted with a GPrivate must be set to NULL
	before calling the destructor. (The destructor gets the original
	value as argument.)  A destructor might re-associate a non-NULL
	value with some GPrivate. To deal with this, if after all
	destructors have been called, there still are some non-NULL
	values, the process is repeated. (#331367)
2006-02-20 02:47:30 +00:00
Tor Lillqvist
f87a83cc15 Fix two bugs: 1) If abs_time is NULL, should use infinite time. 2) Check
2002-11-23  Tor Lillqvist  <tml@iki.fi>

	* gthread-win32.c (g_cond_timed_wait_win32_impl): Fix two bugs: 1)
	If abs_time is NULL, should use infinite time. 2) Check for
	current time already being past abs_time. (#99294, Christopher
	R. Palmer, fix by Sebastian Wilhelmi)
2002-11-25 23:08:27 +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
Sebastian Wilhelmi
f8f4c3778a Add thread_equal function to allow for platform defined function to
2001-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gthread.h (GThreadFunctions): Add thread_equal function to
	allow for platform defined function to compare two threads.

	* glib/gthread.c: Use g_thread_functions_for_glib_use.thread_equal
	when non-NULL instead of ==.

	* gthread/gthread-posix.c: Add g_thread_equal_posix_impl and
	add to the function vector g_thread_functions_for_glib_use_default.

	* gthread/gthread-solaris.c, gthread/gthread-win32.c: Add NULL
	as equal function, as on those two platforms you don't need an
	equal function.
2001-09-19 12:46:39 +00:00
Sebastian Wilhelmi
9600d5cd53 Use g_win32_error_message to beautify error messages.
2001-06-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-win32.c: Use g_win32_error_message to beautify error
	messages.
2001-06-07 10:34:22 +00:00
Sebastian Wilhelmi
896d677f45 Also return TRUE for late arrived signals. Thanks to Steven Brooks
2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-win32.c (g_cond_wait_internal): Also return TRUE for
	late arrived signals. Thanks to Steven Brooks
	<umbrook0@cs.umanitoba.ca> for pointing out.
2001-05-22 14:20:58 +00:00
Sebastian Wilhelmi
d6ed8e36e7 Removed POSIX_*. Defined G_THREAD_SOURCE to "gthread-win32.c".
2001-05-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * config.h.win32.in: Removed POSIX_*. Defined G_THREAD_SOURCE to
        "gthread-win32.c".

        * glibconfig.h.win32.in: Define G_HAVE_ISO_VARARGS for gcc, don't
        know about MSC. Define G_THREADS_IMPL_WIN32 instead of
        G_THREADS_IMPL_POSIX and define the right static mutex macros and
        types.

        * build/win32/make.mingw (CXX): Removed PTHREAD defs. Added
	-O2 -Wall to compile flags.

        * gthread/gthread-impl.c (g_thread_init): Move the thread
	implementation initialization to before assigning
  	GThreadFuncs, which now is just struct assigned and not
	memcpy'ed. Completed check for zero members of GThreadFuncs.

        * gthread/makefile.mingw: Don't link to pthread anymore.

        * gthread/gthread-win32.c: New file for native thread support for
        win32. Thanks to Hans Breuer <hans@breuer.org> to got me
        kickstarted.

        * gthread/Makefile.am: Also distribute gthread-win32.c.
2001-05-22 12:28:06 +00:00