Ryan Lortie [Fri, 30 Sep 2011 18:22:04 +0000 (14:22 -0400)]
Stop dithering over GPrivate
Take out the half-private g_private_init() stuff and replace it with a
G_PRIVATE_INIT macro that allows specifying a GDestroyNotify.
Expose the GPrivate structure in a public header.
Add a g_private_replace() to (sort of) match the functionality of
g_static_mutex_set().
Improve the documentation.
Deprecate g_private_new().
Matthias Clasen [Sun, 2 Oct 2011 23:10:16 +0000 (19:10 -0400)]
Add a few comments
Matthias Clasen [Sun, 2 Oct 2011 23:09:24 +0000 (19:09 -0400)]
Add another GCond test
This test shows how to implement a barrier using a GCond.
Matthias Clasen [Sun, 2 Oct 2011 05:21:46 +0000 (01:21 -0400)]
Rework the way GStaticPrivate data is freed
To avoid iterating threads in g_static_private_free(), defer freeing
the per-thread data to thread exit. The one complication here is
that it is possible for the static private index to be reused while
'old' data is still around. To deal with that case, store the 'owner'
with each per-thread data node, and free old data in
g_static_private_get() if the owner doesn't match. The remaining
possibility that a private index could be reused by a GStaticPrivate
with the same address is sufficiently unlikely that we can probably
ignore it.
With this change, per-thread data is now truly private again,
and we can drop the lock for it as well.
https://bugzilla.gnome.org/show_bug.cgi?id=660635
Matthias Clasen [Sun, 2 Oct 2011 13:59:26 +0000 (09:59 -0400)]
Whitespace fixes
Matthias Clasen [Sun, 2 Oct 2011 21:05:03 +0000 (17:05 -0400)]
Clean up includes
Matthias Clasen [Sun, 2 Oct 2011 20:48:17 +0000 (16:48 -0400)]
Add tests for GPrivate and GStaticPrivate
Javier Jardón [Fri, 30 Sep 2011 16:21:52 +0000 (17:21 +0100)]
tests: Use G_VALUE_INIT
Javier Jardón [Fri, 30 Sep 2011 16:04:23 +0000 (17:04 +0100)]
docs: Use G_VALUE_INIT
Ryan Lortie [Sat, 1 Oct 2011 03:05:27 +0000 (23:05 -0400)]
mutex testcase: add a performance test
Add a reasonable performance test for uncontended and contended cases.
Matthias Clasen [Sun, 2 Oct 2011 04:08:54 +0000 (00:08 -0400)]
Move all hash functions to ghash.c
This matches their location in the headers.
Matthias Clasen [Sun, 2 Oct 2011 04:08:13 +0000 (00:08 -0400)]
GHash: Cosmetic changes
Matthias Clasen [Sun, 2 Oct 2011 03:38:52 +0000 (23:38 -0400)]
One forgotten moved doc
Matthias Clasen [Sun, 2 Oct 2011 03:38:23 +0000 (23:38 -0400)]
Move GStringChunk into its own files
Matthias Clasen [Sun, 2 Oct 2011 03:27:45 +0000 (23:27 -0400)]
Move GString docs inline
Matthias Clasen [Sun, 2 Oct 2011 03:23:40 +0000 (23:23 -0400)]
GString: cosmetic cleanups
Matthias Clasen [Sun, 2 Oct 2011 03:03:09 +0000 (23:03 -0400)]
Move file utility docs inline
Matthias Clasen [Sun, 2 Oct 2011 02:48:27 +0000 (22:48 -0400)]
Move string utility docs inline
Matthias Clasen [Sun, 2 Oct 2011 02:00:41 +0000 (22:00 -0400)]
Move test docs inline
Matthias Clasen [Sun, 2 Oct 2011 01:03:14 +0000 (21:03 -0400)]
Move keyfile docs inline
Matthias Clasen [Sun, 2 Oct 2011 00:16:32 +0000 (20:16 -0400)]
GAsyncQueue: simplify an internal function
g_cond_timed_wait() behaves like g_cond_wait() when given
NULL, so no need have different branches for that in
g_async_queue_pop_intern_unlocked().
Matthias Clasen [Sun, 2 Oct 2011 00:11:38 +0000 (20:11 -0400)]
GAsyncQueue: internal cleanup
Turn the 'try' parameter of g_async_queue_pop_intern_unlocked
into a 'wait', for better alignment with the GCond api.
Matthias Clasen [Sun, 2 Oct 2011 00:09:35 +0000 (20:09 -0400)]
GAsyncQueue: embed the GCond
Use g_cond_init/clear, now that we have them.
Matthias Clasen [Sat, 1 Oct 2011 23:24:24 +0000 (19:24 -0400)]
GAsyncQueue: Cosmetic fixes
Mostly doc formatting and whitespace fixes.
Matthias Clasen [Sat, 1 Oct 2011 22:42:48 +0000 (18:42 -0400)]
GAsyncQueue: Move private API to a private header
Matthias Clasen [Sat, 1 Oct 2011 22:20:27 +0000 (18:20 -0400)]
GThreadPool: cosmetic cleanups
Mostly documentation and formatting trivial, but also add
boolean return types to GError taking functions.
Matthias Clasen [Sat, 1 Oct 2011 22:43:15 +0000 (18:43 -0400)]
GThread: cosmetic fix
Explicitly include gthread.h, don't rely on gthreadprivate.h
to pull it in.
Nguyễn Thái Ngọc Duy [Sun, 2 Oct 2011 00:21:18 +0000 (11:21 +1100)]
Updated Vietnamese translation
Nguyễn Thái Ngọc Duy [Sun, 2 Oct 2011 00:08:49 +0000 (11:08 +1100)]
po/vi: import from Damned Lies
Matthias Clasen [Sat, 1 Oct 2011 17:47:54 +0000 (13:47 -0400)]
Add an index for 2.32 api additions
Matthias Clasen [Sat, 1 Oct 2011 17:47:09 +0000 (13:47 -0400)]
Mark g_thread_create_with_stack_size as new API
Ryan Lortie [Mon, 26 Sep 2011 15:21:55 +0000 (11:21 -0400)]
GSettings schemas: allow for zero items in schema
GVDB deals with empty lists by returning NULL for the list instead of a
zero-length (non-NULL) strv. We can work around that in GSettingsSchema
by checking for the NULL case and treating it like a zero-length list.
https://bugzilla.gnome.org/show_bug.cgi?id=660147
Jasper Lievisse Adriaanse [Sat, 1 Oct 2011 08:46:52 +0000 (10:46 +0200)]
Fix URL to strlcpy(3) manpage in comment.
Simon McVittie [Thu, 29 Sep 2011 14:42:47 +0000 (15:42 +0100)]
markup-subparser test: use a real GError domain
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=660371
Simon McVittie [Thu, 29 Sep 2011 14:42:33 +0000 (15:42 +0100)]
sleepy-stream test: use a real GError domain
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=660371
Simon McVittie [Thu, 29 Sep 2011 12:57:09 +0000 (13:57 +0100)]
g_dbus_error_encode_gerror: don't segfault on bad domains
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=660371
Matthias Clasen [Fri, 30 Sep 2011 03:32:20 +0000 (23:32 -0400)]
Prevent data loss in gdesktopappinfo.c
Don't loose the content of mimeapps.list when it doesn't contain
a [Added Associations] group. Pointed out by Alexander Larsson.
https://bugzilla.gnome.org/show_bug.cgi?id=660130
Matthias Clasen [Fri, 30 Sep 2011 03:13:49 +0000 (23:13 -0400)]
Clean up atomic cruft
Nothing is using these defines anymore, and the messages
are misleading. Based on a patch by Kean Johnston.
https://bugzilla.gnome.org/show_bug.cgi?id=660013
Matthias Clasen [Sun, 25 Sep 2011 05:51:33 +0000 (01:51 -0400)]
Some more gthread reshuffling
David Zeuthen [Thu, 29 Sep 2011 19:49:09 +0000 (15:49 -0400)]
GUnixFileMonitor: Clean up /proc/mounts monitoring
Most suggestions from Colin Walters <walters@verbum.org>.
https://bugzilla.gnome.org/show_bug.cgi?id=660511
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Thu, 29 Sep 2011 19:09:43 +0000 (15:09 -0400)]
GUnixFileMonitor: Use /proc/mounts for monitoring mount changes
On recent Linux distros /etc/mtab is just a symlink to /proc/mounts
and GFileMonitor does not work there because of how the kernel conveys
that the file changes.
https://bugzilla.gnome.org/show_bug.cgi?id=660511
Signed-off-by: David Zeuthen <davidz@redhat.com>
Javier Jardón [Thu, 29 Sep 2011 19:00:16 +0000 (20:00 +0100)]
gfile: Be clear about freeing GFile objects
Dan Winship [Thu, 29 Sep 2011 13:58:57 +0000 (09:58 -0400)]
gthread: remove a stray reference to GStaticMutex
Tiffany Antopolski [Thu, 29 Sep 2011 04:24:55 +0000 (06:24 +0200)]
Updated Esperanto translation
Dan Winship [Wed, 28 Sep 2011 16:18:10 +0000 (12:18 -0400)]
update .gitignores
Dan Williams [Tue, 27 Sep 2011 00:51:42 +0000 (19:51 -0500)]
tests: add signal marshalling return tests for int/uint
https://bugzilla.gnome.org/show_bug.cgi?id=659881
Dan Williams [Mon, 26 Sep 2011 18:07:51 +0000 (13:07 -0500)]
tests: fix generic closure marshalling tests
We're testing enums here, not flags, so we need to make sure
we're trying to send enums through the marshalling.
https://bugzilla.gnome.org/show_bug.cgi?id=659881
Dan Williams [Fri, 23 Sep 2011 16:36:35 +0000 (11:36 -0500)]
tests: Add some return value torture testcases for the generic marshaller
Ensure that ENUM types are properly marshalled back from libffi types
to glib types, which was failing on ppc64.
https://bugzilla.gnome.org/show_bug.cgi?id=659881
Dan Winship [Mon, 26 Sep 2011 18:17:43 +0000 (14:17 -0400)]
Add thread-safety warnings to the g_setenv() and g_unsetenv() docs
https://bugzilla.gnome.org/show_bug.cgi?id=659326
Ryan Lortie [Mon, 26 Sep 2011 07:56:22 +0000 (03:56 -0400)]
GDesktopAppInfo: simplify how defaults work
Previously, we took the default application for a particular mimetype
from the system and copied it into the user's configuration as the
default there.
Instead of doing that we leave the user's default unset, and at time of
use, if the user has no explicitly-set default value, we use the system
default.
This avoids complicated situations where inappropriate applications were
being set as the default in the user's configuration.
https://bugzilla.gnome.org/show_bug.cgi?id=658188
Edward Sheldrake [Wed, 21 Sep 2011 18:14:50 +0000 (19:14 +0100)]
Add another mimeapps test
This tests the interaction between mimeinfo.cache, defaults.list and
mimeapps.list to ensure g_app_info_set_as_last_used_for_type doesn't
incorrectly change the default.
https://bugzilla.gnome.org/show_bug.cgi?id=658188
Dan Winship [Mon, 26 Sep 2011 16:42:23 +0000 (12:42 -0400)]
g_simple_async_result_complete_in_idle: add a minor doc clarification
Ryan Lortie [Mon, 26 Sep 2011 13:05:53 +0000 (09:05 -0400)]
glib tests: Compile new thread tests on win32
They accidentally got added inside of a 'if OS_UNIX'. Move them out.
Ryan Lortie [Mon, 26 Sep 2011 08:44:41 +0000 (04:44 -0400)]
winxp threads: detect SRWLock emulation reentrancy
We lack SRWLock on Windows XP, so we use CRITICAL_SECTION to emulate it
there. SRWLock is non-recursive, but CRITICAL_SECTION will happily
allow itself to be acquired multiple times by the same thread.
We need to detect if our second acquire succeeded because of the
recursive nature of CRITICAL_SECTION. In the case of a _lock()
operation, we would normally have deadlocked, so abort. In the case of
a _trylock() operation, we need to ensure that FALSE is properly
returned.
Problem caught by Matthias Clasen and Chun-wei Fan.
https://bugzilla.gnome.org/show_bug.cgi?id=660096
Carles Ferrando [Mon, 26 Sep 2011 12:40:23 +0000 (14:40 +0200)]
[l10n]Updated Catalan (Valencian) translation
Petr Kovar [Sun, 25 Sep 2011 21:35:27 +0000 (23:35 +0200)]
Update Czech translation
Gil Forcada [Sun, 25 Sep 2011 21:12:36 +0000 (23:12 +0200)]
[l10n]Updated Catalan translation
Stef Walter [Fri, 23 Sep 2011 08:57:55 +0000 (10:57 +0200)]
gvariant: Add g_variant_get_fixed_array()
Using g_variant_new_from_data() for creating new byte arrays is non-obvious.
This patch adds a g_variant_new_fixed_array() function.
https://bugzilla.gnome.org/show_bug.cgi?id=659923
Matthias Clasen [Sun, 25 Sep 2011 05:32:41 +0000 (01:32 -0400)]
More GThread docs tweaks
Matthias Clasen [Sun, 25 Sep 2011 04:53:47 +0000 (00:53 -0400)]
Move GThread docs around
Matthias Clasen [Sun, 25 Sep 2011 04:42:37 +0000 (00:42 -0400)]
Move includes to the top of the file
Matthias Clasen [Sun, 25 Sep 2011 04:37:31 +0000 (00:37 -0400)]
Move deprecated GThread functions to a separate file
Matthias Clasen [Sun, 25 Sep 2011 03:40:18 +0000 (23:40 -0400)]
GThread: more doc updates
Matthias Clasen [Sun, 25 Sep 2011 03:13:55 +0000 (23:13 -0400)]
Drop G_THREADS_IMPL_NONE from the docs
GLib can no longer be built without thread support.
Chun-wei Fan [Fri, 23 Sep 2011 03:27:45 +0000 (11:27 +0800)]
Fix warning/error C4013 (implicit declarations)
-Include gthread.h in gregex.c as g_once_init_enter and g_once_init_leave
are used.
-Define prototype for g_thread_DllMain in gthreadprivate.h for Windows
Chun-wei Fan [Fri, 23 Sep 2011 05:37:08 +0000 (13:37 +0800)]
gthread.c: Declare variable at start of block
This is so that C89 compilers will not complain.
Matthias Clasen [Sat, 24 Sep 2011 23:04:46 +0000 (19:04 -0400)]
Document G_THREADS_IMPL_WIN32
Matthias Clasen [Sat, 24 Sep 2011 23:00:19 +0000 (19:00 -0400)]
GThread doc additions
Matthias Clasen [Sat, 24 Sep 2011 20:38:51 +0000 (16:38 -0400)]
Fix an uninialized variable warning
Peter Mráz [Sat, 24 Sep 2011 19:52:10 +0000 (21:52 +0200)]
Updated Slovak translation
Kenneth Nielsen [Sat, 24 Sep 2011 12:42:07 +0000 (14:42 +0200)]
Updated Danish translation
Matthias Clasen [Sat, 24 Sep 2011 04:39:59 +0000 (00:39 -0400)]
Add a testcase for bug 659866
Mere inclusion of glib headers should not require you to define
any XYZ_SOURCE macros.
Matthias Clasen [Sat, 24 Sep 2011 03:38:26 +0000 (23:38 -0400)]
Add a test for GCond
Matthias Clasen [Sat, 24 Sep 2011 02:07:32 +0000 (22:07 -0400)]
Add a nontrivial read-write lock test
Matthias Clasen [Sat, 24 Sep 2011 01:10:40 +0000 (21:10 -0400)]
Add GOnce tests
Matthias Clasen [Fri, 23 Sep 2011 11:26:33 +0000 (07:26 -0400)]
Make the rec mutex test a little more verbose
Dan Winship [Fri, 23 Sep 2011 12:53:47 +0000 (08:53 -0400)]
giostream: "closed" property should not be marked writable
https://bugzilla.gnome.org/show_bug.cgi?id=659920
Dan Winship [Fri, 23 Sep 2011 11:46:55 +0000 (07:46 -0400)]
gio-2.0.pc.in: drop stray reference to libasyncns
gio-2.0.pc's Libs.private was still using @LIBASYNCNS_LIBADD@, which
was no longer being substituted to anything and so broke "pkg-config
--static". Fix it to be @NETWORK_LIBS@ instead.
https://bugzilla.gnome.org/show_bug.cgi?id=659889
Matthias Clasen [Fri, 23 Sep 2011 11:21:53 +0000 (07:21 -0400)]
Add a non-trivial GRWLock test
This one tests that the writer lock behaves like a mutex.
Adapted from the corresponding test in GMutex.
Matthias Clasen [Fri, 23 Sep 2011 11:14:13 +0000 (07:14 -0400)]
Add a non-trivial GRecMutex test
Adapted from the corresponding GMutex test.
Matthias Clasen [Fri, 23 Sep 2011 11:13:47 +0000 (07:13 -0400)]
Remove an unused variable
Manoj Kumar Giri [Fri, 23 Sep 2011 10:53:44 +0000 (16:23 +0530)]
Updated Oriya Translation
Matthias Clasen [Fri, 23 Sep 2011 10:31:12 +0000 (06:31 -0400)]
Add some more rw lock tests
These test some simple mixed reader/writer api usage.
Matthias Clasen [Fri, 23 Sep 2011 10:29:36 +0000 (06:29 -0400)]
Add a mutex test
This tests that mutexes do what they are supposed to do.
Copied from a similar test for bitlocks in gthread/tests/bitlock.c.
Yaron Shahrabani [Fri, 23 Sep 2011 05:23:25 +0000 (08:23 +0300)]
Updated Hebrew translation
Matthias Clasen [Fri, 23 Sep 2011 02:44:53 +0000 (22:44 -0400)]
Add headers
Matthias Clasen [Fri, 23 Sep 2011 02:44:05 +0000 (22:44 -0400)]
Fix g_rwlock_{writer,reader}_trylock
Matthias Clasen [Fri, 23 Sep 2011 02:43:29 +0000 (22:43 -0400)]
Add basic tests for GRWLock
Just basic api usage, no functional test cases yet.
Chun-wei Fan [Fri, 23 Sep 2011 02:41:19 +0000 (10:41 +0800)]
VS support updates
-Fix GLib project/filter files generation as some source items are under
the "deprecated" subfolder, and filter out the gthread-*.c
-Explicitly specify gthread-win32.c in the GLib project/filter file
templates, since tarballs are done on Linux.
-Don't define g_static_mutex_get_mutex in the pregenerated
glibconfig.h.win32(.in) as it is defined in deprecated/gthread.h for Windows
Matthias Clasen [Fri, 23 Sep 2011 01:58:28 +0000 (21:58 -0400)]
Fix g_rec_mutex_trylock
Matthias Clasen [Fri, 23 Sep 2011 01:55:43 +0000 (21:55 -0400)]
Add trivial tests for GMutex and GRecMutex
Not testing any mutual exclusion with threads yet, just
basic api use. This is already enough to reveal g_rec_mutex_trylock
as broken...
Chun-wei Fan [Thu, 22 Sep 2011 14:10:23 +0000 (22:10 +0800)]
gmappedfile.c: Define S_IFREG on Win32 when it's not available
Make a workaround for S_IFREG in gmappedfile.c on Windows as it may not be
available for a given compiler on that platform
Colin Walters [Thu, 22 Sep 2011 20:08:35 +0000 (16:08 -0400)]
gvalue: Add explicitly signed g_value_get_schar() and g_value_set_schar()
The documentation for G_TYPE_CHAR says:
"The type designated by G_TYPE_CHAR is unconditionally an 8-bit signed
integer."
However the return value for g_value_get_char() was just "char" which
in C has an unspecified signedness; on e.g. x86 it's signed (which
matches the GType), but on e.g. PowerPC or ARM, it's not.
We can't break the old API, so we need to suck it up and add new API.
Port most internal users, but keep some tests of the old API too.
https://bugzilla.gnome.org/show_bug.cgi?id=659870
Colin Walters [Thu, 22 Sep 2011 21:52:08 +0000 (17:52 -0400)]
tests: Add a some torture test cases for the generic marshaller
In particular this has a test case for a G_TYPE_ENUM which we were
running into a failure on ppc64.
https://bugzilla.gnome.org/show_bug.cgi?id=659881
Ryan Lortie [Thu, 22 Sep 2011 17:47:25 +0000 (13:47 -0400)]
Add gthread.h to deprecated headers
...not deprecated sources
Emmanuele Bassi [Thu, 22 Sep 2011 16:16:55 +0000 (17:16 +0100)]
Fix annotations for source/target in g_object_bind_property_*
We use gpointer for convience of the C API users, but introspection
users will not like it.
https://bugzilla.gnome.org/show_bug.cgi?id=659838
Manoj Kumar Giri [Thu, 22 Sep 2011 14:16:01 +0000 (19:46 +0530)]
Updated Oriya Translation
Matthias Clasen [Thu, 22 Sep 2011 05:16:41 +0000 (01:16 -0400)]
Some gthread doc updates
Marking things as deprecated, mostly.
Matthias Clasen [Thu, 22 Sep 2011 04:52:18 +0000 (00:52 -0400)]
Use adaptive mutexes when available
These are supposedly better on multi-cpu systems - and who doesn't
have multiple cpus nowadays. One single-processor systems, they
are identical to normal mutexes.
See e.g. http://bugzilla.mozilla.org/show_bug.cgi?id=132089
https://bugzilla.gnome.org/show_bug.cgi?id=659423
Ryan Lortie [Thu, 22 Sep 2011 00:19:32 +0000 (20:19 -0400)]
GDateTime test: fix a race
We have a GDateTime test that compares the time now (as per the libc) to
the time now (as per GDateTime). The problem is that the time could
change between those two "now"s.