3745 Commits

Author SHA1 Message Date
Alexander Larsson
41b8ce7100 win32: Remove some debug spew on startup
This is not needed anymore and was causing problems for pkg-config.
2011-11-03 17:27:08 +01:00
Matthias Clasen
d2d62ecfcd Make the default log handler more useful
We make the default log handler only print default and informational
messages if the log domain is explicitly requested.

https://bugzilla.gnome.org/show_bug.cgi?id=661926
2011-11-03 01:50:29 -04:00
Matthias Clasen
7456b43c3e Move old deprecated gmain api into deprecated/ 2011-11-03 00:39:31 -04:00
Matthias Clasen
a3c8712c4b Remove single-include guards in deprecated/
Not allowed to include these headers single anymore, either.
2011-11-03 00:31:14 -04:00
Matthias Clasen
03766a1a38 Don't use G_DISABLE_DEPRECATED guards around deprecated functions
I'm leaving the old-style deprecation guards in place around
deprecated macros, enumeration values, etc, for now.
2011-11-03 00:04:15 -04:00
Ryan Lortie
4c038429b1 Revert "gthread: G_STATIC_MUTEX_INIT: Fix this for the non-win32 case."
This reverts commit 52fd106724aa79ad57ecaa7ad9d340f8c89da06d.
2011-10-26 15:10:33 -04:00
Murray Cumming
52fd106724 gthread: G_STATIC_MUTEX_INIT: Fix this for the non-win32 case.
Also initialize the unused member. This was correct before but
was broken when the ifndef was moved inside the GStaticMutex
struct:
http://git.gnome.org/browse/glib/commit/glib/gthread.h?id=24652730a9faaedb19b9e90024077eb7f75a6907
This avoids a compiler warning.
2011-10-26 12:11:58 +02:00
Will Thompson
5e2a2ef288 g_parse_debug_string: invert flags given besides "all"
Any flags specified as well as "all" are subtracted from the result,
allowing the user to specify FOO_DEBUG="all,bar,baz" to mean "give me
debugging information for everything except bar and baz".

https://bugzilla.gnome.org/show_bug.cgi?id=642452
2011-10-24 20:35:30 -04:00
Matthias Clasen
73e3c98df0 Fix g_hash_table_iter_replace
When reusing an existing key 'internally', we must avoid calling
the key_destroy function on the old key.

https://bugzilla.gnome.org/show_bug.cgi?id=662544
2011-10-24 13:29:17 -04:00
Matthias Clasen
e52437982c Make g_ascii_strtod behave as documented
The docs explicitly state that we reset errno, so lets do that,
even if we just wrap strtod_l. Also move the argument check
out of the ifdef.

https://bugzilla.gnome.org/show_bug.cgi?id=662398
2011-10-21 15:00:14 -04:00
Matthias Clasen
269acbe703 Deprecate g_atexit
This function was just not a good idea to begin with.
Its documentation gives plenty of reason not to use it.
2011-10-19 21:03:43 -04:00
Ryan Lortie
2a98cc635e The usual docs unbreaking... 2011-10-19 15:07:22 -04:00
Ryan Lortie
99f0eaa4c5 Fix bug in g_static_rec_mutex_unlock_full()
pthreads doesn't implement the _lock_full() and _unlock_full() calls on
recursive mutexes so we don't have it on GRecMutex either.  Now that
we're using GRecMutex to implement GStaticRecMutex, we have to fake it
by keeping an internal counter of the number of locks and calling
g_rec_mutex_unlock() the appropriate number of times.

The code to do this looked like:

  depth = mutex->depth;
  while (mutex->depth--)
    g_rec_mutex_unlock (rm);
  return depth;

which unfortunately did one last decrement after mutex->depth was
already zero (leaving it equal to -1).

When locked the next time, the count would then increase from -1 to 0
and then the next _unlock_full() call would not do any calls to
g_rec_mutex_unlock(), leading to a deadlock.

https://bugzilla.gnome.org/show_bug.cgi?id=661914
2011-10-18 23:26:00 -04:00
Ryan Lortie
aba0f0c38b gatomic: introduce G_ATOMIC_LOCK_FREE
We clean up the detection of if we should do 'real' atomic operations or
mutex-emulated ones with the introduction of a new (public) macro:
G_ATOMIC_LOCK_FREE.  If defined, our atomic operations are guaranteed to
be done in hardware.

We need to use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 to determine if our
compiler supports GCC-style atomic operations from the gatomic.h header
because we might be building a program against GLib using a different
set of compiler options (or a different compiler) than was used to build
GLib itself.

Unfortunately, this macro is not available on clang, so it has currently
regressed to using the mutex emulation.  A bug about that has been
opened here:

  http://llvm.org/bugs/show_bug.cgi?id=11174
2011-10-18 16:45:28 -04:00
Ryan Lortie
c9b6c3c85a gatomic: cast to the correct pointer sign
In the fallback case of the g_atomic_int_ macros we had some (gint*)
casts that should have been (guint*) casts.
2011-10-18 16:45:28 -04:00
Alexander Larsson
cf3f1b026b Actually Don't define GLIB_COMPILATION in libgthread
Last commit was wrong, fixing it up
2011-10-18 14:15:07 +02:00
Alexander Larsson
be770969e9 Don't define GLIB_COMPILATION in libgthread
This was turning all the GLIB_VARs in the glib headers into
dllexports on windows, causing all sort of nastiness. libgthread is
mostly empty now anyway, so we don't need any GLIB_COMPILATION like
flag.
2011-10-18 13:34:06 +02:00
Matthias Clasen
735420e546 Fix an include guard mismatch
Spotted by Colin Walters.
2011-10-17 17:01:36 -04:00
Chun-wei Fan
f3ac581713 Move _glib_get_locale_dir to ggettext.c
-Move _glib_get_locale_dir to ggettext.c, as Matthias suggested
-Made up for the headers that needed to be included in ggettext.c to avoid
 C4013 (implicit declaration of ...) errors/warnings
2011-10-18 01:01:02 +08:00
Chun-wei Fan
b25177fc4f GLib: Add forgotten includes and build fixes
-gcharset.c, genviron.c, gunicollate.c: Some headers were missed in those
 files that triggered C4013 warnings/errors (aka. implicit declaration
 of ... in GCC).  Make up for them here.
-gwin32.h: Only define g_win32_get_package_installation_directory/
 g_win32_get_package_installation_subdirectory as macros
 (alias of g_win32_get_package_installation_directory_utf8/
 g_win32_get_package_installation_subdirectory_utf8) on Win64 (x64) as
 g_win32_get_package_installation_directory/
 g_win32_get_package_installation_subdirectory have seperate existing
 implmentations for Win32-this is a long-standing problem but was covered-
 up by G_DISABLE_DEPRECATED, which we are stopping to use as of 2.31.0.
2011-10-17 23:54:05 +08:00
Ryan Lortie
e5fd0f5df6 Revert "Bug 652827 - glib-2.29.8 no longer builds with mingw.org's toolchain"
This reverts commit 349212211247781e7bec43b95cb57dddc1d0e5b1.
2011-10-17 10:55:02 -04:00
Chun-wei Fan
e192f45a93 glib/tests/thread.c: Add config guards
Not all systems come with unistd.h and sys/time.h, so use config guards
on them so that they are only included when available.
2011-10-17 17:18:20 +08:00
Matthias Clasen
2f71118e78 More include cleanups 2011-10-17 02:14:39 -04:00
Matthias Clasen
0ec3c744c4 include cleanup 2011-10-17 01:59:35 -04:00
Matthias Clasen
d9053e026c Make things compile again 2011-10-17 01:52:10 -04:00
Matthias Clasen
08933846e4 Move gettext variations into their own files 2011-10-17 01:50:00 -04:00
Matthias Clasen
67bf0083db Reshuffle some functions between gutils and gfileutils
Move filename-related functions to gfileutils, and move
size formatting functions to gutils.
2011-10-17 01:30:31 -04:00
Matthias Clasen
23afdb119e include cleanup 2011-10-17 01:30:09 -04:00
Matthias Clasen
f8a7471308 Trivial 2011-10-17 01:11:56 -04:00
Matthias Clasen
fbe24cab21 Reshuffle genviron.c
Split win32 functions off into their own section, instead
of having large and unwieldy ifdef sections inside each function.

Also move the compat versions of env functions over from gutils.c
2011-10-17 00:39:43 -04:00
Ryan Lortie
b0ab7aba6b push G_THREADS_MANDATORY over the cliff
This was used as an optimisation for the macro hackery that used to live
in gthread.h.  If a particular library or program knew that it could
rely on thread support being enabled, it would allow for static
evaluation of conditionals in some of those macros.

Since the macros are dead and thread support is now always-on, we can
get rid of this bit of legacy.
2011-10-16 21:59:55 -04:00
Ryan Lortie
a6d9cf3380 gthread/: fix up declarations
g_thread_init() is now a deprecated API, so drop G_DISABLE_DEPRECATED
from the CFLAGS for gthread/.  Add the missing declaration for
g_thread_init_with_errorcheck_mutexes() back to deprecated/gthread.h.
2011-10-16 21:50:26 -04:00
Ryan Lortie
3eec796b18 Add private prototype for g_thread_init_glib()
This function was never put in a header and was only used internally
from libgthread, but we should keep the symbol around to avoid
triggering any false-positives on ABI checkers.

For -Wmissing-prototypes compatibility with this unusual case, we should
add a private prototype in the .c file just before.
2011-10-16 21:41:15 -04:00
Ryan Lortie
740eacbfca static and #include fixups in glib/ 2011-10-16 21:41:15 -04:00
Ryan Lortie
1b018a8bb2 genviron: #include fixups 2011-10-16 21:41:15 -04:00
Ryan Lortie
3d93c44374 Mark some functions 'static' in glib/tests
This has uncovered two unused testcases in option-context.c.  They are
currently broken and require more investigation (which is probably why
they are unused).
2011-10-16 21:41:15 -04:00
Ryan Lortie
c5aa8390b2 gitignore 2011-10-16 19:11:00 -04:00
Ryan Lortie
a9a1c97904 gthread: move test cases to glib/ 2011-10-16 19:08:59 -04:00
Ryan Lortie
fb4e120d88 tests: merge gthread/ and glib/ atomic tests 2011-10-16 19:04:19 -04:00
Ryan Lortie
f5e8694782 glib/tests/atomic: convert to proper gtester test 2011-10-16 19:01:55 -04:00
Matthias Clasen
6c1d768f7b Also clean up includes 2011-10-16 18:43:22 -04:00
Matthias Clasen
0589f715e5 Move charset and locale name functions to their own files
They did not really belong into either gutils or gutf8.
2011-10-16 18:40:58 -04:00
Matthias Clasen
86cc4b246d Add deprecation annotations to mem chunk apis 2011-10-16 17:37:29 -04:00
Matthias Clasen
e7b4319d61 Move version APIs out of gutils
Just another cleanup.
2011-10-16 17:01:26 -04:00
Matthias Clasen
45f221c32f Move GTrashStack out of gutils.[hc]
Reducing the mess in gutils, and moving docs inline
at the same time. Double win.
2011-10-16 16:52:24 -04:00
Matthias Clasen
6ab1c77270 Pass correct data to fatal log handlers
This was pointed out by John Ralls in bug 653052.
He also provided the test case.
2011-10-16 16:24:20 -04:00
Martin Pitt
1435db48ba Clarify g_spawn_*() behaviour without full path
Document the previously uncovered case of calling g_spawn_async_with_pipes()
without a full path but no G_SPAWN_SEARCH_PATH. This runs programs from the
current directory, which might be unexpected and even dangerous in some corner
cases.

https://bugzilla.gnome.org/show_bug.cgi?id=656621
2011-10-16 16:09:33 -04:00
Matthias Clasen
cbb0b2a0ed Add g_get_codeset test 2011-10-15 23:58:30 -04:00
Matthias Clasen
1493285f1d Add GAsyncQueue unit test 2011-10-15 23:58:18 -04:00
Matthias Clasen
d0bb1e0b0a Move g_get_codeset next to g_get_charset
g_get_codeset is a close relatove to g_get_charset, and up to now
it lived a shadowy existence without any header presence.
2011-10-15 23:27:28 -04:00