Ryan Lortie [Wed, 21 Sep 2011 18:57:22 +0000 (14:57 -0400)]
Deprecate GStatic{,Rec,RW}Mutex
The new versions use the primatives of the OS directly and don't have an
annoying ABI.
Ryan Lortie [Wed, 21 Sep 2011 18:39:59 +0000 (14:39 -0400)]
gtype: port from GStaticRWLock to GRWLock
Ryan Lortie [Wed, 21 Sep 2011 18:37:34 +0000 (14:37 -0400)]
Port internal GStaticRecMutex users to GRecMutex
Ryan Lortie [Wed, 21 Sep 2011 18:36:53 +0000 (14:36 -0400)]
Add a new recursive mutex type, GRecMutex
This is implemented using the native facilities of each platform instead
of manually.
Ryan Lortie [Wed, 21 Sep 2011 14:19:36 +0000 (10:19 -0400)]
Add GRWLock
Ryan Lortie [Wed, 21 Sep 2011 04:33:16 +0000 (00:33 -0400)]
gthread: remove impl init functions
Ryan Lortie [Tue, 20 Sep 2011 14:06:57 +0000 (10:06 -0400)]
win32: Add 'shared' support to SRWLock emulation
Ryan Lortie [Tue, 20 Sep 2011 04:05:34 +0000 (00:05 -0400)]
gthread-win32: trivial condition change
Make another do-nothing change to the SRWLock emulation.
Ryan Lortie [Tue, 20 Sep 2011 04:04:43 +0000 (00:04 -0400)]
gthread-win32: rename a struct member
Our SRWLock is about to become a real reader/writer lock, so rename an
instance variable to prepare for that.
Ryan Lortie [Mon, 19 Sep 2011 17:58:36 +0000 (13:58 -0400)]
gthread.h: remove some bogus decl/comments
These are no longer relevent since the possibility of a thread-disabled
GLib disappeared.
Ryan Lortie [Mon, 19 Sep 2011 17:51:07 +0000 (13:51 -0400)]
Revert "Drop an unused variable"
This reverts commit
c7f9cd17d446938aaf4126e0753302676f66fd22.
The old macros in gthread.h used this variable, so it must remain in
place to keep ABI compatibility.
Matthias Clasen [Mon, 19 Sep 2011 11:19:17 +0000 (07:19 -0400)]
Drop an unused variable
Matthias Clasen [Mon, 19 Sep 2011 11:16:30 +0000 (07:16 -0400)]
More header cosmetics
Matthias Clasen [Mon, 19 Sep 2011 04:29:53 +0000 (00:29 -0400)]
trivial: small header reordering
Ryan Lortie [Mon, 19 Sep 2011 05:11:11 +0000 (01:11 -0400)]
Move some things to deprecated/gthread.h
Ryan Lortie [Mon, 19 Sep 2011 05:02:44 +0000 (01:02 -0400)]
g_thread_init: take a gpointer as the arg
GThreadFunctions is about to disappear.
Ryan Lortie [Mon, 19 Sep 2011 04:55:16 +0000 (00:55 -0400)]
disable glib-ctor on win32
Ryan Lortie [Mon, 19 Sep 2011 04:45:19 +0000 (00:45 -0400)]
Deprecate g_thread_create_full()
Replace it with g_thread_create_with_stack_size() and a real function
implementation of g_thread_create().
Modify a testcase that was calling g_thread_create_full()
inappropriately (it was using the default values anyway).
Ryan Lortie [Mon, 19 Sep 2011 04:31:33 +0000 (00:31 -0400)]
Drop g_thread_fail()
This is now unused.
Ryan Lortie [Mon, 19 Sep 2011 04:30:30 +0000 (00:30 -0400)]
g_system_thread_create: drop unused args
The 'bound' and 'priority' arguments are no longer in use, so drop them.
Ryan Lortie [Mon, 19 Sep 2011 04:27:56 +0000 (00:27 -0400)]
Remove the concept of 'bound'
This was ignored on Windows. On POSIX, where supported, it controlled
if we ended up with a proper system thread or a user-mode thread. Linux
did not support this.
Matthias Clasen [Mon, 19 Sep 2011 04:25:12 +0000 (00:25 -0400)]
Remove a leftover from errorcheck mutexes
Ryan Lortie [Mon, 19 Sep 2011 04:11:46 +0000 (00:11 -0400)]
Remove g_thread_functions_for_glib_use_old
This has been unused for a while and it should definitely go away now
that g_thread_functions_for_glib_use is back in gthread.c.
Ryan Lortie [Mon, 19 Sep 2011 04:03:40 +0000 (00:03 -0400)]
Merge g_thread_functions_for_glib_use
Move the now-identical copies of g_thread_functions_for_glib_use from
gthread-{posix,win32}.c back into gthread.c.
Ryan Lortie [Mon, 19 Sep 2011 04:01:29 +0000 (00:01 -0400)]
gthread.h: drop the vtable access macros
We're finally free of these. Drop them.
Ryan Lortie [Mon, 19 Sep 2011 04:00:12 +0000 (00:00 -0400)]
NULL g_system_thread_{exit,equal} in the vtable
These were never used from gthread.h and are no longer used from
gthread.c.
Ryan Lortie [Mon, 19 Sep 2011 03:58:12 +0000 (23:58 -0400)]
GSystemThread: port 'self' 'join' and 'create'
Switch 'self' 'join' and 'create' from using the vtable to being called
via normal g_system_thread_* internal API (implemented in each of
gthread-{posix,win32}.c).
Again, we can put NULL in the vtable since these were never used from
gthread.h.
Ryan Lortie [Mon, 19 Sep 2011 03:43:27 +0000 (23:43 -0400)]
GThread: deprecate thread priorities
Thread priorities were already documented as not working on Solaris, and
they are meaningless on Linux unless the process separately requests
realtime scheduling (and even then, it appears only to work as root).
We can safely put a NULL into the vtable for set_priority since nothing
outside of gthread.c ever calls this (and that call is gone).
Matthias Clasen [Mon, 19 Sep 2011 03:18:17 +0000 (23:18 -0400)]
Don't use the thread_exit vfunc
Instead, just have the backends implement an internal function
named g_system_thread_exit.
Matthias Clasen [Mon, 19 Sep 2011 03:10:25 +0000 (23:10 -0400)]
Don't use the thread_equal vfunc anymore
Just move the g_system_thread_equal implementation into
the posix and win32 implementations, and drop some micro macro
optimization.
Ryan Lortie [Mon, 19 Sep 2011 03:07:24 +0000 (23:07 -0400)]
gthread-win32: use __stdcall markers where needed
The "unknown reason" that the native thread implementation was broken is
because functions in kernel32.dll are (obviously) following Microsoft's
__stdcall ABI, not the GCC ABI.
Change our function pointers to be __stdcall pointers and change our
emulated implementation to match.
Ryan Lortie [Mon, 19 Sep 2011 02:48:53 +0000 (22:48 -0400)]
g_private_new: use GSlice
We no longer call g_private_new() from anywhere in GLib, so we can use
gslice instead of malloc().
Matthias Clasen [Mon, 19 Sep 2011 02:11:12 +0000 (22:11 -0400)]
And move the g_thread_yield() docs too
Matthias Clasen [Mon, 19 Sep 2011 01:39:35 +0000 (21:39 -0400)]
Don't use the thread vtable for g_thread_yield()
Matthias Clasen [Mon, 19 Sep 2011 01:24:25 +0000 (21:24 -0400)]
Move g_private_new() to common code
The implementations for posix and win32 were identical, so
move it to gthread.c, to go with g_mutex_new() and g_cond_new().
Matthias Clasen [Mon, 19 Sep 2011 01:17:33 +0000 (21:17 -0400)]
Move docs around
Move the docs of functions to the actual functions. Also add
docs for some new apis.
Matthias Clasen [Mon, 19 Sep 2011 00:04:28 +0000 (20:04 -0400)]
Clean up g_thread_yield implementation
This was the last macro wrapper that was directly accessing the
vtable. Make it a regular function, like the rest.
Ryan Lortie [Sun, 18 Sep 2011 06:27:03 +0000 (02:27 -0400)]
gmem: move to glib-ctor
Ryan Lortie [Sun, 18 Sep 2011 06:17:17 +0000 (02:17 -0400)]
gslice: move initialisation to glib-ctor
Ryan Lortie [Sun, 18 Sep 2011 06:16:07 +0000 (02:16 -0400)]
Add glib-ctor functionality
A pair of macros to define a constructor function (on compilers that
support such a concept) and to ensure that the function is run exactly
once (on compilers that lack such support).
Presently only GCC is implemented.
Ryan Lortie [Sun, 18 Sep 2011 05:24:27 +0000 (01:24 -0400)]
GThread: always initialise the system thread
It's always safe to call the thread implementation 'self' function.
Ryan Lortie [Sun, 18 Sep 2011 05:21:01 +0000 (01:21 -0400)]
gmessages: do implicit GPrivate initialisation
Initialise the GPrivate implicitly at the site of first use rather than
explicitly from the thread initialisation function.
Ryan Lortie [Sun, 18 Sep 2011 05:10:07 +0000 (01:10 -0400)]
Continue GPrivate rework
We remove the macros while at the same time switching all libglib users
from g_private_new() to g_private_init(). We deal with the strange
expectations of the libglib code that g_private_* should work before the
GPrivate has been initialised with a temporary shim.
Ryan Lortie [Sun, 18 Sep 2011 02:00:27 +0000 (22:00 -0400)]
Rework GPrivate
- expose the structure types for GLib internal use only
- avoid infinite recursion hazards by ensuring that GPrivate never
calls back into any other part of GLib
- substantially rework the Windows implementation so that it never
holds locks, contains no arbitrary limits and doesn't waste
100*sizeof(void*) per thread
We have to keep the macro hacks for the time being since some code
inside libglib depends on it.
Ryan Lortie [Sun, 18 Sep 2011 00:15:07 +0000 (20:15 -0400)]
GStaticMutex: remove ./configure checks
Now that GMutex is exposed we can avoid the dance we did in ./configure
to allocate the correct amount of space for it within the GStaticMutex.
Remove the checks and move the definitions to gthread.h, trying very
hard to keep ABI-stable (even though we will be deprecating this soon).
Ryan Lortie [Sat, 17 Sep 2011 23:33:30 +0000 (19:33 -0400)]
Stop using GStaticMutex in two testcases
Ryan Lortie [Sat, 17 Sep 2011 23:32:57 +0000 (19:32 -0400)]
GParamSpecPool: port from GStaticMutex to GMutex
Ryan Lortie [Sat, 17 Sep 2011 23:26:41 +0000 (19:26 -0400)]
GSettings: port from GStaticMutex to GMutex
Ryan Lortie [Sat, 17 Sep 2011 22:30:07 +0000 (18:30 -0400)]
Remove "temporary until GLib is fixed" code
The original GMutex/GCond rework patch introduced some temporary code to
cope with GLib's old approach to thread initialisation. These are no
longer required.
Ryan Lortie [Sat, 17 Sep 2011 22:07:39 +0000 (18:07 -0400)]
Port g_cond_new to use GSlice
Now that nothing inside of GLib is using g_cond_new(), we can implement
it using GSlice. Since the implementations for POSIX and Windows are
now the same, move it to gthread.c.
Ryan Lortie [Sat, 17 Sep 2011 22:05:24 +0000 (18:05 -0400)]
libglib: stop using g_cond_new in some places
Port a couple of low-level users of g_cond_new to use G_COND_INIT or
g_cond_init() as appropriate.
Ryan Lortie [Sat, 17 Sep 2011 21:59:03 +0000 (17:59 -0400)]
Port g_mutex_new to use GSlice
Now that nothing inside of GLib is using g_mutex_new, we can implement
it using GSlice. Since the implementations for POSIX and Windows are
now the same, move it to gthread.c.
Ryan Lortie [Sat, 17 Sep 2011 22:33:25 +0000 (18:33 -0400)]
G_LOCK: port from GStaticMutex to GMutex
GCancellable made use of the undocumented G_LOCK_NAME macro in an
invalid way. Fix that up while we're at it.
Ryan Lortie [Sat, 17 Sep 2011 21:56:33 +0000 (17:56 -0400)]
libglib: stop using g_mutex_new
Use G_MUTEX_INIT or g_mutex_init() as appropriate.
Ryan Lortie [Sat, 17 Sep 2011 21:47:46 +0000 (17:47 -0400)]
libglib: drop use of GStaticMutex
Use GMutex directly instead.
Ryan Lortie [Fri, 16 Sep 2011 22:05:23 +0000 (18:05 -0400)]
Rework GMutex and GCond APIs
Do a substantial rework of the GMutex and GCond APIs.
- remove all of the macro indirection hackery which is no longer needed
since we dropped support for switchable thread implementations
- expose the structure types and add G_MUTEX_INIT and G_COND_INIT
static initialiser macros
- add g_mutex_init() and g_mutex_clear() for use when embedding GMutex
into another structure type and do the same for GCond as well
- avoid infinite recursion hazards by ensuring that neither GCond or
GMutex ever calls back into any other part of GLib
- substantially rework the Windows implementation of GCond and GMutex
to use the SRWLock and CONDITION_VARIABLE APIs present on Windows
2008/Vista and later, emulating these APIs on XP
Matthias Clasen [Wed, 21 Sep 2011 19:46:24 +0000 (15:46 -0400)]
Forgotten part of an earlier mismerge
This is making gmappedfile.c identical to the glib-2-30 branch again.
Ryan Lortie [Wed, 21 Sep 2011 19:27:37 +0000 (15:27 -0400)]
gmessage.c: mark a private function static
David Zeuthen [Wed, 21 Sep 2011 12:16:43 +0000 (08:16 -0400)]
GDBusObject{Proxy,Skeleton}: Prefix properties with g- to avoid collisions
Otherwise we might collide with an interface called Connection.
https://bugzilla.gnome.org/show_bug.cgi?id=659699
This is for the same reason that GDBusProxy has its properties
prefixed with g-.
Signed-off-by: David Zeuthen <davidz@redhat.com>
Ryan Lortie [Tue, 20 Sep 2011 14:07:35 +0000 (10:07 -0400)]
gunixmounts: exempt entries with "none" mountpoint
We ignore entries with mountpoint of "swap" and "ignore". Add "none" to
that list, since Debian uses it.
Probably we should move to using our already-existing internal list of
things to ignore, but this patch is more minimally intrusive for now.
https://bugzilla.gnome.org/show_bug.cgi?id=654563
Xavier Claessens [Wed, 21 Sep 2011 11:41:10 +0000 (13:41 +0200)]
gdbus-codegen: prepend arg_ to method/signal arg names
This is to avoid shadow declaration warning in the case an arg name
is "time" for example.
https://bugzilla.gnome.org/show_bug.cgi?id=659690
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Wed, 21 Sep 2011 11:12:32 +0000 (07:12 -0400)]
gdbus-codegen: Clarify how naming and Ugly_Case handling works
Basically, move some paragraphs around.
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Wed, 21 Sep 2011 10:57:29 +0000 (06:57 -0400)]
gdbus-codegen: Update man page to reflect how --annotate actually works
Signed-off-by: David Zeuthen <davidz@redhat.com>
Xavier Claessens [Tue, 20 Sep 2011 21:46:23 +0000 (23:46 +0200)]
gdbus-codegen: Fix build errors in generated code
https://bugzilla.gnome.org/show_bug.cgi?id=659646
Sweta Kothari [Wed, 21 Sep 2011 06:50:30 +0000 (12:20 +0530)]
Removed the glib.glib-2-30.gu.po file that was wrongly committed
Sweta Kothari [Wed, 21 Sep 2011 06:47:29 +0000 (12:17 +0530)]
Updated Gujarati Translations
Sweta Kothari [Wed, 21 Sep 2011 06:44:29 +0000 (12:14 +0530)]
Updated Gujarati Translations
Sweta Kothari [Wed, 21 Sep 2011 06:41:20 +0000 (12:11 +0530)]
Updated Gujarati Translations
Sweta Kothari [Wed, 21 Sep 2011 06:37:00 +0000 (12:07 +0530)]
Updated Gujarati Translations
Dan Winship [Tue, 20 Sep 2011 20:58:34 +0000 (16:58 -0400)]
GThreadedResolver: don't overwrite errors
If a dns op was cancelled and then the abandoned op failed, it would
try to overwrite the original error. Fix that.
https://bugzilla.gnome.org/show_bug.cgi?id=658769
Cosimo Cecchi [Sat, 10 Sep 2011 04:35:09 +0000 (00:35 -0400)]
timeval: add introspection annotations to g_time_val_from_iso8601()
The GTimeVal argument is missing an (out) annotations.
https://bugzilla.gnome.org/show_bug.cgi?id=658692
Antoine Jacoutot [Mon, 19 Sep 2011 23:18:45 +0000 (01:18 +0200)]
gunixmounts: Fix compilation on BSD
Commit
afa82ae805f9c8bb875a3f863a7b4669953f159f introduced a compilation
regression on BSD systems that use the sysctl(3) interface; we need to
declare the buffer len in _g_get_unix_mount_points()
BZ #659528
Matej Urbančič [Tue, 20 Sep 2011 13:40:29 +0000 (15:40 +0200)]
Updated Slovenian translation
Matej Urbančič [Tue, 20 Sep 2011 13:35:31 +0000 (15:35 +0200)]
Updated Slovenian translation
Sweta Kothari [Tue, 20 Sep 2011 08:01:07 +0000 (13:31 +0530)]
Updated Gujarati Translations
David Zeuthen [Mon, 19 Sep 2011 21:31:21 +0000 (17:31 -0400)]
GDBusObjectManagerServer: Add test for export_uniquely() method
Signed-off-by: David Zeuthen <davidz@redhat.com>
Matthew Barnes [Mon, 19 Sep 2011 20:45:05 +0000 (16:45 -0400)]
GDBusObjectManagerServer: Use correct object path in export_uniquely() method
In registration_data_export_interface(), the object_path is obtained using:
object_path = g_dbus_object_get_object_path (G_DBUS_OBJECT (data->object));
But when exporting an object uniquely, the object_path is not assigned
to the GDBusObject until after all the interfaces are exported.
Therefore, registration_data_export_interface() is trying to export
the interface on the non-unique object path, which can lead to
run-time errors if an object already exists on that path.
Instead, registration_data_export_interface() should be passed the
object_path explicitly, as is done in
g_dbus_object_manager_server_export_unlocked().
Signed-off-by: David Zeuthen <davidz@redhat.com>
Philip Withnall [Mon, 19 Sep 2011 08:13:52 +0000 (10:13 +0200)]
Don't close stream twice when splicing
Ensure that the output/target stream in a g_output_stream_splice_async()
operation is marked as closed if G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET is
passed to g_output_stream_splice_async(). This removes the possibility of
local FDs being closed twice because the stream's not marked as closed.
This is implemented by calling g_output_stream_close() from within
g_output_stream_splice_async() instead of calling the stream's close_fn()
directly.
Closes: bgo#659324
Ryan Lortie [Mon, 19 Sep 2011 02:20:08 +0000 (22:20 -0400)]
gbitlock: #include "gslice.h"
This is needed if we're doing emulated futexes.
Matthias Clasen [Mon, 19 Sep 2011 02:14:19 +0000 (22:14 -0400)]
Fix a merge accident
Ryan Lortie [Sun, 18 Sep 2011 18:22:07 +0000 (14:22 -0400)]
Remove unused header gdebug.h
This was only included from gmessages.c. Nuke the unused parts and
merge the rest into gmessages.c.
Ryan Lortie [Sun, 18 Sep 2011 22:59:20 +0000 (18:59 -0400)]
Don't #include <glib/gslice.h> from gmem.h
It looks like this was done just to help people port from gmem to
gslice, but nothing in this header actually requires gslice.h to be
included.
Ryan Lortie [Mon, 19 Sep 2011 00:36:30 +0000 (20:36 -0400)]
Move deprecated GCompletion to deprecated/
Keep the docs for now, though. We'll remove them after a few more
cycles.
https://bugzilla.gnome.org/show_bug.cgi?id=659427
Ryan Lortie [Mon, 19 Sep 2011 00:31:09 +0000 (20:31 -0400)]
Move deprecated GRel to deprecated/
Keep the docs for now, though. We'll remove them after a few more
cycles.
https://bugzilla.gnome.org/show_bug.cgi?id=659427
Ryan Lortie [Mon, 19 Sep 2011 00:17:59 +0000 (20:17 -0400)]
Move GAllocator/GMemChunk to separate file
Create a deprecated/ directory that we can start moving ancient chunks
of code to. Start with GAllocator, GMemChunk and related APIs.
Also drop all mention of them from the docs.
https://bugzilla.gnome.org/show_bug.cgi?id=659427
Мирослав Николић [Mon, 19 Sep 2011 01:07:41 +0000 (03:07 +0200)]
Updated Serbian translation
Matthias Clasen [Sun, 18 Sep 2011 18:50:31 +0000 (14:50 -0400)]
Fix g_ascii_formatd tests
The test was not changing to the locales it was looping over.
Dan Winship [Sun, 18 Sep 2011 14:49:58 +0000 (10:49 -0400)]
gsocks5proxy, gsocks4aproxy: simplify some error messages
There's no need to include the exact max length in the error messages,
and it makes it look like the strings need to use ngettext() if you do.
https://bugzilla.gnome.org/show_bug.cgi?id=658206
Alexander Shopov [Sun, 18 Sep 2011 05:04:58 +0000 (08:04 +0300)]
Updated Bulgarian translation
Matthias Clasen [Sun, 18 Sep 2011 02:44:28 +0000 (22:44 -0400)]
Use xlocale functions where available
Implement g_ascii_strto{d,ll,ull} and g_ascii_formatd using
xlocale functions where available. This is slightly faster
and a lot less icky than our homegrown code.
https://bugzilla.gnome.org/show_bug.cgi?id=640293
Matthias Clasen [Sun, 18 Sep 2011 00:27:16 +0000 (20:27 -0400)]
Remove redundant checks
g_set_error() handles error == NULL, so no need to check.
Patch by Ignacio Casal Quinteiro.
https://bugzilla.gnome.org/show_bug.cgi?id=640975
Matthias Clasen [Sat, 17 Sep 2011 23:58:28 +0000 (19:58 -0400)]
GMappedFile: return an error when trying to map a device
Previously, we were returning an empty buffer for all filenames
where fstat() gives a size of 0. But this is only appropriate
for regular files.
Also improve the documentation around this issue. Based on a
patch by Ryan Lortie.
Conflicts:
glib/tests/mappedfile.c
https://bugzilla.gnome.org/show_bug.cgi?id=659212
Ryan Lortie [Sat, 17 Sep 2011 23:11:10 +0000 (19:11 -0400)]
glib-compile-schemas: remove --uninstall option
This option does nothing as has been documented as "will be removed
soon" for the vast majority of its life.
Ryan Lortie [Sat, 17 Sep 2011 21:32:42 +0000 (17:32 -0400)]
GVariant: avoid 'ARRAY_INFO' as function name
Turns out that ARRAY_INFO isn't such a great name for a function since
Windows appears to declare this symbol these days. Use a different
name.
Ryan Lortie [Sat, 17 Sep 2011 21:32:18 +0000 (17:32 -0400)]
gmain: fix some win32 build errors
Aron Xu [Sat, 17 Sep 2011 16:18:03 +0000 (16:18 +0000)]
Update Simplified Chinese translation.
Мирослав Николић [Fri, 16 Sep 2011 22:03:56 +0000 (00:03 +0200)]
Updated Serbian translation
Ryan Lortie [Fri, 16 Sep 2011 21:50:13 +0000 (17:50 -0400)]
gatomic: use pthread mutexes instead of GMutex
GStaticMutex makes use of atomic operations to initialise itself. We
were using GStaticMutex from the emulated case of gatomic. Use pthreads
directly to avoid unbounded recursion in this case.
David Zeuthen [Fri, 16 Sep 2011 20:01:13 +0000 (16:01 -0400)]
gdbus-codegen: Support Ugly_Case for given C namespace
https://bugzilla.gnome.org/show_bug.cgi?id=658976
Signed-off-by: David Zeuthen <davidz@redhat.com>
David Zeuthen [Fri, 16 Sep 2011 19:20:00 +0000 (15:20 -0400)]
gdbus-codegen: Single letter namespaces get dropped from symbol names
https://bugzilla.gnome.org/show_bug.cgi?id=659082
Signed-off-by: David Zeuthen <davidz@redhat.com>