Commit Graph

21 Commits

Author SHA1 Message Date
Ryan Lortie
46af418e05 Move thread priority translation into the backends
The translation of GLib priorities into the thread priorities of
different operating systems belongs in the implementation -- not
half-way in the front end.
2011-09-09 12:47:40 -04:00
Ryan Lortie
e48573c402 Deprecated (undocumented) g_thread_gettime
g_thread_gettime() is an undocumented public function pointer that
points to a function that returns the monotonic time in nanoseconds.
g_get_monotonic_time() does the same in microseconds, so it can be used
instead.

GLib had one internal user in GFileMonitor that only cared about
millisecond accuracy; it has been ported to g_get_monotonic_time().
2011-09-09 12:47:39 -04:00
Hans Breuer
521e741d56 define CSIDL_MYPICTURES if not available use G_STRFUNC instead of compiler
2008-02-17  Hans Breuer  <hans@breuer.org>

	* glib/gutils.c : define CSIDL_MYPICTURES if not available
	* gthread/gthread-win32.c : use G_STRFUNC instead of compiler 
	specific __FUNCTION__


svn path=/trunk/; revision=6526
2008-02-17 12:49:12 +00:00
Matthias Clasen
7bfc60de2e Deprecate G_GNUC_(PRETTY)_FUNCTION.
2008-01-27  Matthias Clasen  <mclasen@redhat.com>

        * glib/gmacros.h: Deprecate G_GNUC_(PRETTY)_FUNCTION.



svn path=/trunk/; revision=6389
2008-01-27 23:42:33 +00:00
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