platform/upstream/glib.git
12 years agogthread-win32: trivial condition change
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.

12 years agogthread-win32: rename a struct member
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.

12 years agogthread.h: remove some bogus decl/comments
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.

12 years agoRevert "Drop an unused variable"
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.

12 years agoDrop an unused variable
Matthias Clasen [Mon, 19 Sep 2011 11:19:17 +0000 (07:19 -0400)]
Drop an unused variable

12 years agoMore header cosmetics
Matthias Clasen [Mon, 19 Sep 2011 11:16:30 +0000 (07:16 -0400)]
More header cosmetics

12 years agotrivial: small header reordering
Matthias Clasen [Mon, 19 Sep 2011 04:29:53 +0000 (00:29 -0400)]
trivial: small header reordering

12 years agoMove some things to deprecated/gthread.h
Ryan Lortie [Mon, 19 Sep 2011 05:11:11 +0000 (01:11 -0400)]
Move some things to deprecated/gthread.h

12 years agog_thread_init: take a gpointer as the arg
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.

12 years agodisable glib-ctor on win32
Ryan Lortie [Mon, 19 Sep 2011 04:55:16 +0000 (00:55 -0400)]
disable glib-ctor on win32

12 years agoDeprecate g_thread_create_full()
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).

12 years agoDrop g_thread_fail()
Ryan Lortie [Mon, 19 Sep 2011 04:31:33 +0000 (00:31 -0400)]
Drop g_thread_fail()

This is now unused.

12 years agog_system_thread_create: drop unused args
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.

12 years agoRemove the concept of 'bound'
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.

12 years agoRemove a leftover from errorcheck mutexes
Matthias Clasen [Mon, 19 Sep 2011 04:25:12 +0000 (00:25 -0400)]
Remove a leftover from errorcheck mutexes

12 years agoRemove g_thread_functions_for_glib_use_old
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.

12 years agoMerge g_thread_functions_for_glib_use
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.

12 years agogthread.h: drop the vtable access macros
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.

12 years agoNULL g_system_thread_{exit,equal} in the vtable
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.

12 years agoGSystemThread: port 'self' 'join' and 'create'
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.

12 years agoGThread: deprecate thread priorities
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).

12 years agoDon't use the thread_exit vfunc
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.

12 years agoDon't use the thread_equal vfunc anymore
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.

12 years agogthread-win32: use __stdcall markers where needed
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.

12 years agog_private_new: use GSlice
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().

12 years agoAnd move the g_thread_yield() docs too
Matthias Clasen [Mon, 19 Sep 2011 02:11:12 +0000 (22:11 -0400)]
And move the g_thread_yield() docs too

12 years agoDon't use the thread vtable for g_thread_yield()
Matthias Clasen [Mon, 19 Sep 2011 01:39:35 +0000 (21:39 -0400)]
Don't use the thread vtable for g_thread_yield()

12 years agoMove g_private_new() to common code
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().

12 years agoMove docs around
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.

12 years agoClean up g_thread_yield implementation
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.

12 years agogmem: move to glib-ctor
Ryan Lortie [Sun, 18 Sep 2011 06:27:03 +0000 (02:27 -0400)]
gmem: move to glib-ctor

12 years agogslice: move initialisation to glib-ctor
Ryan Lortie [Sun, 18 Sep 2011 06:17:17 +0000 (02:17 -0400)]
gslice: move initialisation to glib-ctor

12 years agoAdd glib-ctor functionality
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.

12 years agoGThread: always initialise the system thread
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.

12 years agogmessages: do implicit GPrivate initialisation
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.

12 years agoContinue GPrivate rework
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.

12 years agoRework GPrivate
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.

12 years agoGStaticMutex: remove ./configure checks
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).

12 years agoStop using GStaticMutex in two testcases
Ryan Lortie [Sat, 17 Sep 2011 23:33:30 +0000 (19:33 -0400)]
Stop using GStaticMutex in two testcases

12 years agoGParamSpecPool: port from GStaticMutex to GMutex
Ryan Lortie [Sat, 17 Sep 2011 23:32:57 +0000 (19:32 -0400)]
GParamSpecPool: port from GStaticMutex to GMutex

12 years agoGSettings: port from GStaticMutex to GMutex
Ryan Lortie [Sat, 17 Sep 2011 23:26:41 +0000 (19:26 -0400)]
GSettings: port from GStaticMutex to GMutex

12 years agoRemove "temporary until GLib is fixed" code
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.

12 years agoPort g_cond_new to use GSlice
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.

12 years agolibglib: stop using g_cond_new in some places
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.

12 years agoPort g_mutex_new to use GSlice
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.

12 years agoG_LOCK: port from GStaticMutex to GMutex
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.

12 years agolibglib: stop using g_mutex_new
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.

12 years agolibglib: drop use of GStaticMutex
Ryan Lortie [Sat, 17 Sep 2011 21:47:46 +0000 (17:47 -0400)]
libglib: drop use of GStaticMutex

Use GMutex directly instead.

12 years agoRework GMutex and GCond APIs
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

12 years agoForgotten part of an earlier mismerge
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.

12 years agogmessage.c: mark a private function static
Ryan Lortie [Wed, 21 Sep 2011 19:27:37 +0000 (15:27 -0400)]
gmessage.c: mark a private function static

12 years agoGDBusObject{Proxy,Skeleton}: Prefix properties with g- to avoid collisions
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>
12 years agogunixmounts: exempt entries with "none" mountpoint
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

12 years agogdbus-codegen: prepend arg_ to method/signal arg names
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>
12 years agogdbus-codegen: Clarify how naming and Ugly_Case handling works
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>
12 years agogdbus-codegen: Update man page to reflect how --annotate actually works
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>
12 years agogdbus-codegen: Fix build errors in generated code
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

12 years agoRemoved the glib.glib-2-30.gu.po file that was wrongly committed
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

12 years agoUpdated Gujarati Translations
Sweta Kothari [Wed, 21 Sep 2011 06:47:29 +0000 (12:17 +0530)]
Updated Gujarati Translations

12 years agoUpdated Gujarati Translations
Sweta Kothari [Wed, 21 Sep 2011 06:44:29 +0000 (12:14 +0530)]
Updated Gujarati Translations

12 years agoUpdated Gujarati Translations
Sweta Kothari [Wed, 21 Sep 2011 06:41:20 +0000 (12:11 +0530)]
Updated Gujarati Translations

12 years agoUpdated Gujarati Translations
Sweta Kothari [Wed, 21 Sep 2011 06:37:00 +0000 (12:07 +0530)]
Updated Gujarati Translations

12 years agoGThreadedResolver: don't overwrite errors
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

12 years agotimeval: add introspection annotations to g_time_val_from_iso8601()
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

12 years agogunixmounts: Fix compilation on BSD
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

12 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 20 Sep 2011 13:40:29 +0000 (15:40 +0200)]
Updated Slovenian translation

12 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 20 Sep 2011 13:35:31 +0000 (15:35 +0200)]
Updated Slovenian translation

12 years agoUpdated Gujarati Translations
Sweta Kothari [Tue, 20 Sep 2011 08:01:07 +0000 (13:31 +0530)]
Updated Gujarati Translations

12 years agoGDBusObjectManagerServer: Add test for export_uniquely() method
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>
12 years agoGDBusObjectManagerServer: Use correct object path in export_uniquely() method
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>
12 years agoDon't close stream twice when splicing
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

12 years agogbitlock: #include "gslice.h"
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.

12 years agoFix a merge accident
Matthias Clasen [Mon, 19 Sep 2011 02:14:19 +0000 (22:14 -0400)]
Fix a merge accident

12 years agoRemove unused header gdebug.h
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.

12 years agoDon't #include <glib/gslice.h> from gmem.h
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.

12 years agoMove deprecated GCompletion to deprecated/
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

12 years agoMove deprecated GRel to deprecated/
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

12 years agoMove GAllocator/GMemChunk to separate file
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

12 years agoUpdated Serbian translation
Мирослав Николић [Mon, 19 Sep 2011 01:07:41 +0000 (03:07 +0200)]
Updated Serbian translation

12 years agoFix g_ascii_formatd tests
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.

12 years agogsocks5proxy, gsocks4aproxy: simplify some error messages
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

12 years agoUpdated Bulgarian translation
Alexander Shopov [Sun, 18 Sep 2011 05:04:58 +0000 (08:04 +0300)]
Updated Bulgarian translation

12 years agoUse xlocale functions where available
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

12 years agoRemove redundant checks
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

12 years agoGMappedFile: return an error when trying to map a device
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

12 years agoglib-compile-schemas: remove --uninstall option
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.

12 years agoGVariant: avoid 'ARRAY_INFO' as function name
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.

12 years agogmain: fix some win32 build errors
Ryan Lortie [Sat, 17 Sep 2011 21:32:18 +0000 (17:32 -0400)]
gmain: fix some win32 build errors

12 years agoUpdate Simplified Chinese translation.
Aron Xu [Sat, 17 Sep 2011 16:18:03 +0000 (16:18 +0000)]
Update Simplified Chinese translation.

12 years agoUpdated Serbian translation
Мирослав Николић [Fri, 16 Sep 2011 22:03:56 +0000 (00:03 +0200)]
Updated Serbian translation

12 years agogatomic: use pthread mutexes instead of GMutex
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.

12 years agogdbus-codegen: Support Ugly_Case for given C namespace
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>
12 years agogdbus-codegen: Single letter namespaces get dropped from symbol names
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>
12 years ago_g_dbus_worker_new: hold a ref until we have done the initial read
Simon McVittie [Mon, 12 Sep 2011 17:42:36 +0000 (18:42 +0100)]
_g_dbus_worker_new: hold a ref until we have done the initial read

Otherwise, we could use-after-free the GDBusWorker, if its last-unref
is immediately after _g_dbus_worker_new returns (before the worker thread
does its initial read).

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=651268
Bug-NB: NB#271520
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Signed-off-by: David Zeuthen <davidz@redhat.com>
12 years agoGDBusWorker: as a precaution, access 'stopped' boolean atomically
Simon McVittie [Mon, 12 Sep 2011 17:26:45 +0000 (18:26 +0100)]
GDBusWorker: as a precaution, access 'stopped' boolean atomically

This member is written in _g_dbus_worker_stop from arbitrary threads, and
read by the worker thread, so it should be accessed atomically.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=651268
Bug-NB: NB#271520
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Signed-off-by: David Zeuthen <davidz@redhat.com>
12 years agoRegression test for closing a stream, slowly, while a message is queued
Simon McVittie [Mon, 12 Sep 2011 17:24:24 +0000 (18:24 +0100)]
Regression test for closing a stream, slowly, while a message is queued

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=651268
Bug-NB: NB#271520
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Signed-off-by: David Zeuthen <davidz@redhat.com>
12 years agoGDBusWorker: annotate more functions with lock/pending state
Simon McVittie [Thu, 8 Sep 2011 16:21:02 +0000 (17:21 +0100)]
GDBusWorker: annotate more functions with lock/pending state

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=651268
Bug-NB: NB#271520
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Signed-off-by: David Zeuthen <davidz@redhat.com>
12 years agoGDBusConnection: delegate to the worker to close the stream
Simon McVittie [Tue, 13 Sep 2011 16:31:27 +0000 (17:31 +0100)]
GDBusConnection: delegate to the worker to close the stream

We can't safely close the output part of the I/O stream until any
pending write or flush has been completed. In the worst case, this could
lead to an assertion failure in the worker (when the close wins the
race) or not closing the stream at all (when the write wins the race).

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=651268
Bug-NB: NB#271520
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Signed-off-by: David Zeuthen <davidz@redhat.com>
12 years agoGDBusWorker: combine num_writes_pending with flush_pending
Simon McVittie [Tue, 13 Sep 2011 16:37:33 +0000 (17:37 +0100)]
GDBusWorker: combine num_writes_pending with flush_pending

num_writes_pending was a counter, but it only took values 0 or 1, so make
it a boolean: it would never make sense to be trying to write out two
messages at the same time (they'd get interleaved).

Similarly, we can never be writing and flushing at the same time (that'd
mean we were flushing halfway through a message, which would be pointless)
so combine it with flush_pending too, calling the result output_pending.

Also assert that it takes the expected value whenever we change it,
and document the locking discipline used for it, including a subtle
case in write_message_in_idle_cb where it's not obvious at first glance
why we don't need the lock.

(Having the combined boolean at the top of the block of write-related
struct members improves struct packing on 64-bit platforms, by packing
read_num_ancillary_messages and output_pending into one word.)

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=651268
Bug-NB: NB#271520
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Signed-off-by: David Zeuthen <davidz@redhat.com>
12 years agoDisable two GDBus tests
Ryan Lortie [Fri, 16 Sep 2011 15:06:50 +0000 (11:06 -0400)]
Disable two GDBus tests

These tests try to use GMainContext across fork() which now fails a lot
more violently than it used to.

See https://bugzilla.gnome.org/show_bug.cgi?id=658999 for information.