commit 179d8ac43f3c23e5712b284f8af9c72f6b26c479 Author: Matthias Clasen Date: Fri Nov 11 17:11:31 2011 -0500 Updates NEWS | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) commit 9aa02d9d989ea7440b1c5a62041d038dbf124b50 Author: Benjamin Otte Date: Sun Oct 16 12:58:29 2011 -0700 docs: Improve g_variant_loop() docs Typo fix and changing "is not recommended" to the nice version of "don't do this", aka "causes undefined behavior". gio/glocalfileinfo.c | 5 ++++- glib/gvariant.c | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) commit 44ca0df0af5ddc25c4d140efd792f7547317107f Author: Benjamin Otte Date: Mon Jul 25 13:08:59 2011 +0200 docs: Tell which function to use to avoid errors. glib/gvarianttype.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 4cae0cdc34b60e79956ef3a986eb167061a3bab2 Author: Matthias Clasen Date: Mon Nov 7 00:14:28 2011 -0500 Add a test for CDATA in gschema.xml files gio/tests/gschema-compile.c | 3 ++- gio/tests/schema-tests/cdata.gschema.xml | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletions(-) commit 3c58a4128b3997ae9417e7b38eb1439c1e47e801 Author: Matthias Clasen Date: Mon Nov 7 00:13:56 2011 -0500 Accept CDATA in gschema.xml files gio/glib-compile-schemas.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit d3da689c4c3dbeee92ff5c5a3407cb078a2ab546 Author: Dan Winship Date: Fri Oct 14 14:32:11 2011 -0400 glib-mkenums.in: fix @ENUMPREFIX@ with /*< underscore_name=... >*/ For enums defined with an underscore_name override, @ENUMPREFIX@ would include a trailing "_". Fix. https://bugzilla.gnome.org/show_bug.cgi?id=661797 gobject/glib-mkenums.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit e5a644eeece8f7eda8324d98239272ef3d30e1dc Author: David Zeuthen Date: Thu Oct 27 10:30:58 2011 -0400 g_bus_own_name: fix race when unowning a name immediately after owning it ... and also add a test to verify that the fix works. https://bugzilla.gnome.org/show_bug.cgi?id=662808 Signed-off-by: David Zeuthen gio/gdbusnameowning.c | 86 ++++++++++++++++++++++++++++++++++------------- gio/tests/gdbus-names.c | 29 +++++++++++++++- 2 files changed, 89 insertions(+), 26 deletions(-) commit e54bc017ea35c3eaf573b776764a781634bfed55 Author: Damien Lespinau Date: Mon Oct 24 22:25:59 2011 -0400 Add TAGS files to .gitignore "make tags" is the best way to produce tags in an automake project and yet very few people are using it so the tags files it generates are never added to the .gitignore files. Add TAGS files to .gitignore then. https://bugzilla.gnome.org/show_bug.cgi?id=615424 .gitignore | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 0fb7f35cc61dd066598bd318785f5405663711c0 Author: Robert Nagy Date: Mon Oct 24 21:18:48 2011 -0400 Fix some build issues on OpenBSD Adapt to some OpenBSD header quirks. Patch by Robert Nagy. https://bugzilla.gnome.org/show_bug.cgi?id=661386 configure.ac | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) commit 20b41db74f61d1c4cd21a29e17a800f13c0b6a9f Author: Sjoerd Simons Date: Fri Oct 21 15:40:56 2011 +0200 Fix document generation in out of tree builds https://bugzilla.gnome.org/show_bug.cgi?id=662390 docs/reference/glib/Makefile.am | 2 +- docs/reference/gobject/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 458c8114a68636c2bd0949c6a5987b78441a9486 Author: Ryan Lortie Date: Fri Oct 21 15:00:24 2011 -0400 GVariant format string docs: fix maybe types The documentation for maybe types failed to mention 'a' as one of the types that was handled with a single pointer for which NULL means "nothing". Correct that omission. Problem caught by Shaun McCance. docs/reference/glib/gvariant-varargs.xml | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) commit 81c07947291c691fd7b897509cc00771ac21f943 Author: Matthias Clasen Date: Sun Oct 16 16:23:18 2011 -0400 Pass correct data to fatal log handlers This was pointed out by John Ralls in bug 653052. He also provided the test case. glib/gmessages.c | 2 +- glib/tests/logging.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletions(-) commit 777f72a15868ccdcf616927a3b7fc92c984303cb Author: Martin Pitt Date: Wed Aug 17 08:57:15 2011 +0200 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 glib/gspawn.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit b0e82791a36bb2c3ba4b1ee301814a2de5a8fc69 Author: Torsten Schönfeld Date: Tue Aug 16 19:11:43 2011 +0200 Add two annotations to gio https://bugzilla.gnome.org/show_bug.cgi?id=656679 gio/gfile.c | 2 +- gio/gfileinfo.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 6250bb656ed566cbc9f97e58d2c175a5971a25e9 Author: Simon McVittie Date: Tue Oct 4 10:14:35 2011 +0100 Document that types are limited to 64 KiB Bug: https://bugzilla.gnome.org/show_bug.cgi?id=659916 Signed-off-by: Simon McVittie gobject/gtype.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) commit f4bba75f2f6a9609d28a1d2db44cec0230a45f15 Author: Kean Johnston Date: Sat Oct 15 17:57:23 2011 -0400 GIOModule: Use G_SEARCHPATH_SEPARATOR_S instead of ":" https://bugzilla.gnome.org/show_bug.cgi?id=661257 gio/giomodule.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9eb5c2d2e4acdaa867d502e716aef7a1fc3a3e15 Author: Simon McVittie Date: Fri Nov 11 14:41:50 2011 +0000 GDBusWorker: tolerate read errors while closing My previous fix for GNOME#662100 was incomplete: it seems that with some timings, the stream can be closed with an async read in-flight. This can make the read fail immediately with G_IO_ERROR_CLOSED instead of becoming cancelled. This happens reliably on an embedded device, and rarely on my laptop; repeating the test 100 times in quick succession reliably reproduces the bug on my laptop. It seems as though what we really want is to ignore read errors, once we've established that we want to close the connection anyway - this means that after asking to close, you're immune to exit-on-close, which seems like a good rule. An additional subtlety is that continuing to read after we know we want to close is still required, otherwise we'll never emit ::closed. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662100 Bug-NB: NB#287088 Signed-off-by: Simon McVittie Reviewed-by: Colin Walters gio/gdbusprivate.c | 22 +++++++++++++++++++++- 1 files changed, 21 insertions(+), 1 deletions(-) commit b9ef04ecdeaa8fc382a720ff517e2c256002179b Author: Simon McVittie Date: Thu Nov 10 19:06:43 2011 +0000 GDBusWorker: debug on read errors if transport debugging is enabled Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662100 Bug-NB: NB#287088 Signed-off-by: Simon McVittie Reviewed-by: Colin Walters gio/gdbusprivate.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) commit bcefcf766c9dea3bf6ec09d79ce8349f3bc89108 Author: Simon McVittie Date: Thu Nov 3 18:33:08 2011 +0000 gdbus-exit-on-close test: don't leak a variant Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662100 Bug-NB: NB#287088 Signed-off-by: Simon McVittie Reviewed-by: Colin Walters gio/tests/gdbus-exit-on-close.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 1bf29ab9548b38414bf4edad629871a821b4013d Author: Simon McVittie Date: Thu Nov 3 18:32:53 2011 +0000 gdbus-exit-on-close test: optionally be more verbose for debugging Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662100 Bug-NB: NB#287088 Signed-off-by: Simon McVittie Reviewed-by: Colin Walters gio/tests/gdbus-exit-on-close.c | 28 +++++++++++++++++++++++++++- 1 files changed, 27 insertions(+), 1 deletions(-) commit c55c24ec19260eea5968c039decba55308d98487 Author: Aleksander Morgado Date: Thu Oct 27 16:54:02 2011 +0200 gdbus: avoid warning when finalizing a GDBusObjectManagerClient If the GDBusObjectManagerClient doesn't get a name owner during its lifetime, `on_control_proxy_g_signal' will never be connected to any signal, so we shouldn't dump any warning in that case. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=662858 gio/gdbusobjectmanagerclient.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 04423e88f71017e6016b8770acda5c421a6b0cc0 Author: Matthias Clasen Date: Mon Oct 24 13:25:15 2011 -0400 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 glib/ghash.c | 17 ++++++++++++----- glib/tests/hash.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 5 deletions(-) commit ad6cb36ee2c9b2d53ce5479aadc9e5ced4566a46 Author: Ryan Lortie Date: Fri Oct 21 14:05:10 2011 -0400 GDBusMessage: fix leak of GError As part of the deserialisation process of a zero-length array in the DBus wire format, parse_value_from_blob() recursively calls itself with the expectation of failing (as can be seen by the assert immediately following). It passes &local_error to this always-failing call and then fails to free it (indeed, to use it at all). The result is that the GError is leaked. Fix it by passing in NULL instead, so that the GError is never created in the first place. https://bugzilla.gnome.org/show_bug.cgi?id=662411 gio/gdbusmessage.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 87b2c723f705a2976939a273df54580912103f9f Author: Simon McVittie Date: Thu Oct 20 20:02:02 2011 +0100 GDBusConnection: document use while uninitialized as undefined behaviour Bug: https://bugzilla.gnome.org/show_bug.cgi?id=661689 Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662208 Signed-off-by: Simon McVittie Reviewed-by: David Zeuthen gio/gdbusconnection.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) commit 62d3e4f9af64b1a5e7c04da16ef1a6222fecd2f9 Author: Simon McVittie Date: Thu Oct 20 13:12:26 2011 +0100 GDBusConnection: check for initialization where needed for thread-safety Also document which fields require such a check in order to have correct threading semantics. This usage doesn't matches the GInitable documentation, which suggests use of a GError - but using an uninitialized GDBusConnection is programming error, and not usefully recoverable. (The GInitable documentation may have been a mistake - GNOME#662208.) Also, not all of the places where we need it can raise a GError. The check serves a dual purpose: it turns a non-deterministic crash into a deterministic critical warning, and is also a memory barrier for thread-safety. All of these functions dereference or return fields that are meant to be protected by FLAG_INITIALIZED, so they could crash or return an undefined value to their caller without this, if called from a thread that isn't the one that called initable_init() (although I can't think of any way to do that without encountering a memory barrier, undefined behaviour, or a race condition that leads to undefined behaviour if the non-initializing thread wins the race). One exception is that initable_init() itself makes a synchronous call. We deal with that by passing new internal flags up the call stack, to reassure g_dbus_connection_send_message_unlocked() that it can go ahead. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=661689 Bug: https://bugzilla.gnome.org/show_bug.cgi?id=661992 Signed-off-by: Simon McVittie Reviewed-by: David Zeuthen gio/gdbusconnection.c | 139 ++++++++++++++++++++++++++++++++++++++++++++++--- gio/gioenums.h | 2 + 2 files changed, 133 insertions(+), 8 deletions(-) commit 8fc7f8aa3a4668db9327bb0801359da57c04b090 Author: Simon McVittie Date: Tue Oct 18 17:32:45 2011 +0100 GDBusConnection: replace is_initialized with an atomic flag The comment implied that even failed initialization would set is_initialized = TRUE, but this wasn't the case - failed initialization would only set initialization_error, and it was necessary to check both. It turns out the documented semantics are nicer than the implemented semantics, since this lets us use atomic operations, which are also memory barriers, to avoid needing separate memory barriers or locks for initialization_error (and other members that are read-only after construction). I expect to need more than one atomically-accessed flag to fix thread safety, so instead of a minimal implementation I've turned is_initialized into a flags word. Signed-off-by: Simon McVittie Bug: https://bugzilla.gnome.org/show_bug.cgi?id=661689 Bug: https://bugzilla.gnome.org/show_bug.cgi?id=661992 Reviewed-by: David Zeuthen gio/gdbusconnection.c | 44 +++++++++++++++++++++++++++++--------------- 1 files changed, 29 insertions(+), 15 deletions(-) commit ac386f54badf0343efac2becb2c99dad6d27f40d Author: Matthias Clasen Date: Wed Oct 19 17:46:11 2011 -0400 Revert "Simplify checks for CLOCK_MONOTONIC" This reverts commit 7f66b04bfd21ef97492a68d0e26274b5dc76ad8f. configure.ac | 15 ++++++++++ glib/gmain.c | 82 ++++++++++++++++++++++++++++++++++----------------------- 2 files changed, 64 insertions(+), 33 deletions(-) commit f14eef8402cb0ac4a5671fc6c46bbd98d0cd90ad Author: Simon McVittie Date: Tue Oct 18 16:19:43 2011 +0100 gdbus-non-socket test: avoid use of a GMainContext across a fork See https://bugzilla.gnome.org/show_bug.cgi?id=658999 for why this would be bad. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662100 Signed-off-by: Simon McVittie Reviewed-by: David Zeuthen (cherry picked from commit 612d2384670378d23e46046ab42ca98d618aba43) gio/tests/gdbus-non-socket.c | 51 +++++++++++++++++++++++++++++++---------- 1 files changed, 38 insertions(+), 13 deletions(-) commit 4c172056f5203d5639532da756ef64ef223290c4 Author: Simon McVittie Date: Tue Oct 18 16:18:21 2011 +0100 gdbus-exit-on-close test: cover more possibilities We didn't previously test anything except the implicit default of TRUE. Now we test implicit TRUE, explicit TRUE, explicit FALSE, and disconnecting at the local end (which regressed while fixing Bug #651268). Also avoid some questionable use of a main context, which fell foul of Bug #658999 and caused this test to be disabled in master. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662100 Bug-NB: NB#287088 Signed-off-by: Simon McVittie Reviewed-by: David Zeuthen (cherry picked from commit be89f052c2f578a812d7bba4bbd02be04a4fdc03) gio/tests/gdbus-exit-on-close.c | 141 ++++++++++++++++++++++++++++++++++----- 1 files changed, 125 insertions(+), 16 deletions(-) commit d65b80fb547ef3eed80ae970f858e7d110d90b40 Author: Simon McVittie Date: Wed Oct 19 10:49:56 2011 +0100 GDBusWorker: if a read was cancelled it means we closed the connection This was a regression caused by my previous work on GDBusWorker thread-safety (Bug #651268). The symptom is that if you disconnect a GDBusConnection locally, the default implementation of GDBusConnection::closed terminates your process, even though it shouldn't do that for locally-closed connections; this is because GDBusWorker didn't think a cancelled read was a local close. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662100 Bug-NB: NB#287088 Signed-off-by: Simon McVittie Reviewed-by: David Zeuthen (cherry picked from commit 5e0492da509aad12b93b732c449dae1a016367c1) gio/gdbusprivate.c | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) commit 5043ca30ea9e355ca7bd8758425afb064c81d038 Author: Sjoerd Simons Date: Sun Oct 16 10:57:29 2011 +0100 GDBusConnection: Fix race in /gdbus/connection/life-cycle GDBusConnection sets the closed flag in the worker thread, then adds an idle callback (which refs the Connection) to signal this in the main thread. The tests session_bus_down doesn't spin the mainloop, so the "closed" signal will always fire if iterating the mainloop later (and drops the ref when doing so). But _is_closed can return TRUE even before signalling this, in which case the "closed" signal isn't fired and the ref isn't dropped, causing the test to fail. Instead simply always wait for the closed signal, which is a good thing to check anyway and ensures the ref is closed. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=661896 Reviewed-by: Matthias Clasen gio/tests/gdbus-connection.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) commit 6d57a45234daa51d837695a9325c1b71cae101cf Author: Simon McVittie Date: Thu Oct 13 17:39:03 2011 +0100 GDBusConnection: warn that direct access to the stream is a bad idea Bug: https://bugzilla.gnome.org/show_bug.cgi?id=661679 Signed-off-by: Simon McVittie Reviewed-by: David Zeuthen gio/gdbusconnection.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) commit 610dd25e878775150e6bbbc207e36915747ea54c Author: OKANO Takayoshi Date: Mon Oct 17 09:25:08 2011 +0900 Updated Japanese translation po/ja.po | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) commit 36207429bf2fb8e465712e9436708e8f7690e07a Author: Jiro Matsuzawa Date: Mon Oct 17 01:54:33 2011 +0900 Updated Japanese translation po/ja.po | 218 +++++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 122 insertions(+), 96 deletions(-) commit 7e3e9a01f764a2e173f7291d6a4c76142de3467d Author: Matthias Clasen Date: Fri Oct 14 10:17:30 2011 -0400 Post-release version bump configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)