Commit Graph

9995 Commits

Author SHA1 Message Date
Matthias Clasen
70c082127f Improve test coverage of glist.c 2011-06-06 00:31:24 -04:00
Matthias Clasen
3e93fa7a25 Improve test coverage of glib-unix.c 2011-06-06 00:31:06 -04:00
Matthias Clasen
bb0cbc2ae1 Improve test coverage of gurifuncs.c 2011-06-06 00:30:50 -04:00
Matthias Clasen
abf4a0200f Test runtime dir getter 2011-06-06 00:30:30 -04:00
Matthias Clasen
1f022a88d4 Remove deprecated atomic functions from tests 2011-06-06 00:30:02 -04:00
Matthias Clasen
059fa31ad1 Improve test coverage
Duplicate the atomic tests for the functions, and
test the new atomic operations as well.
2011-06-06 00:28:38 -04:00
Matthias Clasen
a79a5a6202 No need to have two variants of errno-to-GError 2011-06-05 22:20:18 -04:00
Matthias Clasen
d811f0cdc9 Fix a typo
And reword some docs.
2011-06-05 19:07:06 -04:00
Fran Diéguez
16731b60db Updated Galician translations 2011-06-05 23:30:42 +02:00
Kalev Lember
03441e406c configure.ac: Check for qsort_r function before running the test program
When cross compiling, test programs cannot be run. In order to make it
easier to cross compile for targets that do not have qsort_r(), check
for the function before trying to run the test program.

This avoid having to populate cache with glib_cv_have_qsort_r=no with
e.g. mingw cross compiler.

https://bugzilla.gnome.org/show_bug.cgi?id=651920
2011-06-05 19:38:47 +03:00
Kalev Lember
886a3499e1 configure.ac: Print qsort_r result only once
AC_CACHE_CHECK that was introduced in 70a19815 prints the result, so the
following AC_MSG_RESULT is no longer needed.
2011-06-05 19:37:49 +03:00
Jorge González
f3f5c410f0 Updated Spanish translation 2011-06-05 16:59:31 +02:00
Matthias Clasen
3b242bc5e9 Use g_param_spec_ref_sink instead of separate ref, sink 2011-06-04 23:43:05 -04:00
Matthias Clasen
9eda9d9195 GParamSpec: avoid unnecessary double initialization of qdata 2011-06-04 23:42:07 -04:00
Matthias Clasen
38dc7955e4 No necessary to init qdata atomically 2011-06-04 23:14:32 -04:00
David Zeuthen
f1e5af4e12 GDBusObject: Remove comment non-existant virtual functions
These were nuked a while ago.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-06-04 21:37:37 -04:00
Matthias Clasen
b3effbf683 bump version 2011-06-04 20:06:44 -04:00
Matthias Clasen
3e6dc0d8fa 2.29.6 2011-06-04 19:05:51 -04:00
Matthias Clasen
9a6529442c Fix doc syntax 2011-06-04 19:05:51 -04:00
Matthias Clasen
01f63b19f9 Fix links in gio docs 2011-06-04 18:48:19 -04:00
Yaron Shahrabani
cb9c92cdb4 Updated Hebrew translation. 2011-06-05 01:05:03 +03:00
Matthias Clasen
594bf7460a Fix parameter documentation for many functions
Use the opt-out mechanism introduced in gtk-doc 1.16 to work
around problems with the _utf8 renaming games that the win32
port is playing in our headers.

https://bugzilla.gnome.org/show_bug.cgi?id=638449
2011-06-04 14:43:52 -04:00
Matthias Clasen
75f7eef9cd Fix doc typos
Now with fewer broken links...
2011-06-04 14:43:52 -04:00
Matthias Clasen
3b9c8962dc configure.in: Use tar-ustar to avoid name length limitations
Also use dist-bzip2.
2011-06-04 14:43:20 -04:00
David Zeuthen
635f5373c2 Fix up gdbus invocation in example
Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-06-04 12:43:00 -04:00
David Zeuthen
0b41002474 gdbus: Add a way to emit a signal
See https://bugs.freedesktop.org/show_bug.cgi?id=37890#c6 where it was
discovered that dbus-send(1) actually doesn't work (either libdbus-1's
flush implementation or dbus-send(1)'s usage of it is broken) so it's
useful to have here.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-06-04 12:36:38 -04:00
David Zeuthen
0c8bb8d479 Fix typos in "Migrating to GDBus" docs
It's Skeleton now, not Stub.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-06-04 11:52:59 -04:00
Matthias Clasen
87dc08ee4d Distcheck fixes
Fix VPATH builds.
2011-06-04 10:46:38 -04:00
Matthias Clasen
1aa348c14c Distcheck fixes
Accidentally committed debug leftover.
2011-06-04 10:45:54 -04:00
Matthias Clasen
c40199b450 Update NEWS 2011-06-04 08:13:48 -04:00
Yaron Shahrabani
e32a9406b1 Updated Hebrew translation. 2011-06-04 13:44:19 +03:00
Paolo Bonzini
c5d9a46394 avoid quadratic behavior of GMainLoop when all fd's have the same priority
https://bugzilla.gnome.org/show_bug.cgi?id=640518
2011-06-04 00:00:24 -04:00
Matthias Clasen
1e88c5321c Add a test for the previous fix 2011-06-03 23:38:46 -04:00
Matthias Clasen
77be95cdce GRand: avoid overflow
Otherwise, g_random_double_range (-G_MAXDOUBLE, G_MAXDOUBLE)
doesn't work as expected.

https://bugzilla.gnome.org/show_bug.cgi?id=502560
2011-06-03 23:37:23 -04:00
Matthias Clasen
deed4dd36b g_mkdir_with_parents: cope with dirs popping into existence
Don't bail out if a directory suddenly turns out to exist
after all. Proposed in bug 612729.
2011-06-03 22:45:51 -04:00
Mikhail Zabaluev
69efeee287 Made g_utf8_to_ucs4_fast() even faster
https://bugzilla.gnome.org/show_bug.cgi?id=619435
2011-06-03 22:31:39 -04:00
Mikhail Zabaluev
1b101a3873 Added performance tests for UTF-8 decoding functions
https://bugzilla.gnome.org/show_bug.cgi?id=619418
2011-06-03 22:28:34 -04:00
Matthew Barnes
f065d7d60e Have g_queue_remove() return a boolean
g_queue_remove() should return a boolean so callers can verify that an
element was found and removed, as in the following example:

    if (g_queue_remove (queue, referenced_object))
        g_object_unref (referenced_object);

Similarly, g_queue_remove_all() should return the number of elements
found and removed.

https://bugzilla.gnome.org/show_bug.cgi?id=632294
2011-06-03 22:04:31 -04:00
Wim Taymans
496157ffd3 gthread: avoid locking in _get_mutex_impl
When getting the mutex implementation of a static mutex, avoid taking the global
lock every time but only take the lock when there was no mutex and we need to
create one.

https://bugzilla.gnome.org/show_bug.cgi?id=599954
2011-06-03 21:42:51 -04:00
Alexander Larsson
fca330dafa Use g_atomic_pointer_or/and to set datalist flags
https://bugzilla.gnome.org/show_bug.cgi?id=650458
2011-06-03 21:11:26 -04:00
Alexander Larsson
0a918c0d2a Make g_object_get_data use the new faster g_datalist_get_data
https://bugzilla.gnome.org/show_bug.cgi?id=650458
2011-06-03 21:11:26 -04:00
Alexander Larsson
1cceda49b6 Make g_datalist_get_data not look up the quark
Instead of converting the string to a quark and comparing quarks we
use the new lockless g_quark_to_string and just compare the quarks
in the datalist with the given string.

This means we avoid the global lock for string to quark. Additionally
most of the time the data list will be quite short, so the cost of
doing the sting comparisons is likely similar to that of the quark
hashtable lookup (which does at least one string comparison for a
successfull lookup).

https://bugzilla.gnome.org/show_bug.cgi?id=650458
2011-06-03 21:11:26 -04:00
Alexander Larsson
7ae5e9c248 Make quark to string lockless
We do this by assigning to g_quarks atomically and leaking it when
replacing it atomically. Then its safe to consume the array
on the reader side (atomically).

Also, since we're leaking quarks on growing, bump the block size
so that we're not leaking as much. gtk3-demo allocates > 1500 quarks,
and gnome apps > 3000. I'm setting the block to 2048 which means no
leaks for small gtk3 apps and just one leak for gnome apps.

https://bugzilla.gnome.org/show_bug.cgi?id=650458
2011-06-03 21:11:26 -04:00
Alexander Larsson
3f8638ce93 Make g_datalist not use a global lock and perform better
This implementation uses a per-list bitlock for user data, and a
simple array rather than a linked list which uses less memory and less
allocations. It also gets better cache behaviour since related things
are stored close to each other.

https://bugzilla.gnome.org/show_bug.cgi?id=650458
2011-06-03 21:11:19 -04:00
Matthias Clasen
4cd0b86103 Add pointer bitlocks to the docs 2011-06-03 20:54:32 -04:00
Ryan Lortie
df0b208831 Implement pointer sized bitlocks
Based on a patch from Alexander Larsson.

https://bugzilla.gnome.org/show_bug.cgi?id=651467
2011-06-03 20:50:18 -04:00
Ryan Lortie
1a80405a36 bitlock: hand-code assembly version for x86
The __sync_fetch_and_or() operation on x86 is a bit suboptimal when the
result isn't ignored.  Normally we could use the 'lock or' assembly
instruction to accomplish this, but this instruction discards the
previous value.

In order to work around this issue, GCC is forced to emit a
compare-and-exchange loop.

We can easily use the 'lock bts' instruction, though.  It can't be used
in the general case for __sync_fetch_and_or() but it works great for our
case (test and set a single bit).

I filed a bug against GCC[1] to get this exposed as a new intrinsic (or
have the optimiser detect the case) but until then we'll hand-code it on
x86 and amd64.

The uncontended case sees a 31% improvement on my test machine.

 [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49244

https://bugzilla.gnome.org/show_bug.cgi?id=651467
2011-06-03 17:33:39 -04:00
Giovanni Campagna
f2bd54d0c5 gvariant: fix introspection annotations
g_variant_get_strv and g_variant_get_bytestring return arrays that
are null terminated and have an explicit length. Since gjs doesn't
support (out) arrays with length, mark them also null-terminated
(but leave the length annotation, so pygobject can remove the argument)

https://bugzilla.gnome.org/show_bug.cgi?id=646635
2011-06-03 16:39:43 -04:00
David Zeuthen
53ced63c6d Fix include path for gdbus-codegen example XML
Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-06-03 14:45:29 -04:00
David Zeuthen
6d54505b2d Fix docs for D-Bus introspection data structures
Mark structs as boxed types and use /*< public >*/ so the struct
members are properly shown.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-06-03 14:39:04 -04:00