Commit a28215fa authored by Matthias Clasen's avatar Matthias Clasen

Release 2.21.0

parent 4e694faa
...@@ -130,4 +130,7 @@ ...@@ -130,4 +130,7 @@
<index role="2.20"> <index role="2.20">
<title>Index of new symbols in 2.20</title> <title>Index of new symbols in 2.20</title>
</index> </index>
<index role="2.22">
<title>Index of new symbols in 2.20</title>
</index>
</book> </book>
...@@ -244,5 +244,8 @@ synchronize their operation. ...@@ -244,5 +244,8 @@ synchronize their operation.
<index role="2.20"> <index role="2.20">
<title>Index of new symbols in 2.20</title> <title>Index of new symbols in 2.20</title>
</index> </index>
<index role="2.22">
<title>Index of new symbols in 2.22</title>
</index>
</book> </book>
...@@ -155,5 +155,8 @@ ...@@ -155,5 +155,8 @@
<index role="2.18"> <index role="2.18">
<title>Index of new symbols in 2.18</title> <title>Index of new symbols in 2.18</title>
</index> </index>
<index role="2.22">
<title>Index of new symbols in 2.22</title>
</index>
</book> </book>
...@@ -483,7 +483,7 @@ g_cancellable_cancel (GCancellable *cancellable) ...@@ -483,7 +483,7 @@ g_cancellable_cancel (GCancellable *cancellable)
gboolean cancel; gboolean cancel;
cancel = FALSE; cancel = FALSE;
G_LOCK(cancellable); G_LOCK(cancellable);
if (cancellable != NULL && if (cancellable != NULL &&
!cancellable->cancelled) !cancellable->cancelled)
...@@ -503,14 +503,14 @@ g_cancellable_cancel (GCancellable *cancellable) ...@@ -503,14 +503,14 @@ g_cancellable_cancel (GCancellable *cancellable)
g_signal_emit (cancellable, signals[CANCELLED], 0); g_signal_emit (cancellable, signals[CANCELLED], 0);
G_LOCK(cancellable); G_LOCK(cancellable);
cancellable->cancelled_running = FALSE; cancellable->cancelled_running = FALSE;
if (cancellable->cancelled_running_waiting) if (cancellable->cancelled_running_waiting)
g_cond_broadcast (cancellable_cond); g_cond_broadcast (cancellable_cond);
cancellable->cancelled_running_waiting = FALSE; cancellable->cancelled_running_waiting = FALSE;
G_UNLOCK(cancellable); G_UNLOCK(cancellable);
g_object_unref (cancellable); g_object_unref (cancellable);
} }
} }
...@@ -524,8 +524,8 @@ g_cancellable_cancel (GCancellable *cancellable) ...@@ -524,8 +524,8 @@ g_cancellable_cancel (GCancellable *cancellable)
* *
* Convenience function to connect to the #GCancellable::cancelled * Convenience function to connect to the #GCancellable::cancelled
* signal. Also handles the race condition that may happen * signal. Also handles the race condition that may happen
* if the cancellable is cancelled right before connecting. * if the cancellable is cancelled right before connecting.
* *
* @callback is called at most once, either directly at the * @callback is called at most once, either directly at the
* time of the connect if @cancellable is already cancelled, * time of the connect if @cancellable is already cancelled,
* or when @cancellable is cancelled in some thread. * or when @cancellable is cancelled in some thread.
...@@ -535,11 +535,11 @@ g_cancellable_cancel (GCancellable *cancellable) ...@@ -535,11 +535,11 @@ g_cancellable_cancel (GCancellable *cancellable)
* cancelled. * cancelled.
* *
* See #GCancellable::cancelled for details on how to use this. * See #GCancellable::cancelled for details on how to use this.
* *
* Returns: The id of the signal handler or 0 if @cancellable has already * Returns: The id of the signal handler or 0 if @cancellable has already
* been cancelled. * been cancelled.
* *
* Since: 2.20 * Since: 2.22
*/ */
gulong gulong
g_cancellable_connect (GCancellable *cancellable, g_cancellable_connect (GCancellable *cancellable,
...@@ -550,30 +550,30 @@ g_cancellable_connect (GCancellable *cancellable, ...@@ -550,30 +550,30 @@ g_cancellable_connect (GCancellable *cancellable,
gulong id; gulong id;
g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), 0); g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), 0);
G_LOCK(cancellable); G_LOCK (cancellable);
if (cancellable->cancelled) if (cancellable->cancelled)
{ {
void (*_callback) (GCancellable *cancellable, void (*_callback) (GCancellable *cancellable,
gpointer user_data); gpointer user_data);
_callback = (void *)callback; _callback = (void *)callback;
id = 0; id = 0;
_callback (cancellable, data); _callback (cancellable, data);
if (data_destroy_func) if (data_destroy_func)
data_destroy_func (data); data_destroy_func (data);
} }
else else
{ {
id = g_signal_connect_data (cancellable, "cancelled", id = g_signal_connect_data (cancellable, "cancelled",
callback, data, callback, data,
(GClosureNotify) data_destroy_func, (GClosureNotify) data_destroy_func,
0); 0);
} }
G_UNLOCK(cancellable); G_UNLOCK (cancellable);
return id; return id;
} }
...@@ -585,17 +585,17 @@ g_cancellable_connect (GCancellable *cancellable, ...@@ -585,17 +585,17 @@ g_cancellable_connect (GCancellable *cancellable,
* *
* Disconnects a handler from an cancellable instance similar to * Disconnects a handler from an cancellable instance similar to
* g_signal_handler_disconnect() but ensures that once this * g_signal_handler_disconnect() but ensures that once this
* function returns the handler will not run anymore in any thread. * function returns the handler will not run anymore in any thread.
* *
* This avoids a race condition where a thread cancels at the * This avoids a race condition where a thread cancels at the
* same time as the cancellable operation is finished and the * same time as the cancellable operation is finished and the
* signal handler is removed. See #GCancellable::cancelled for * signal handler is removed. See #GCancellable::cancelled for
* details on how to use this. * details on how to use this.
* *
* If @cancellable is %NULL or @handler_id is %0 this function does * If @cancellable is %NULL or @handler_id is %0 this function does
* nothing. * nothing.
* *
* Since: 2.20 * Since: 2.22
*/ */
void void
g_cancellable_disconnect (GCancellable *cancellable, g_cancellable_disconnect (GCancellable *cancellable,
...@@ -604,16 +604,16 @@ g_cancellable_disconnect (GCancellable *cancellable, ...@@ -604,16 +604,16 @@ g_cancellable_disconnect (GCancellable *cancellable,
if (handler_id == 0 || cancellable == NULL) if (handler_id == 0 || cancellable == NULL)
return; return;
G_LOCK(cancellable); G_LOCK (cancellable);
while (cancellable->cancelled_running) while (cancellable->cancelled_running)
{ {
cancellable->cancelled_running_waiting = TRUE; cancellable->cancelled_running_waiting = TRUE;
g_cond_wait (cancellable_cond, g_cond_wait (cancellable_cond,
g_static_mutex_get_mutex (& G_LOCK_NAME (cancellable))); g_static_mutex_get_mutex (& G_LOCK_NAME (cancellable)));
} }
g_signal_handler_disconnect (cancellable, handler_id); g_signal_handler_disconnect (cancellable, handler_id);
G_UNLOCK(cancellable); G_UNLOCK (cancellable);
} }
#define __G_CANCELLABLE_C__ #define __G_CANCELLABLE_C__
......
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* GIO - GLib Input, Output and Streaming Library /* GIO - GLib Input, Output and Streaming Library
* *
* Copyright (C) 2008 Red Hat, Inc. * Copyright (C) 2008 Red Hat, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
* #GNetworkAddress and #GNetworkService provide wrappers around * #GNetworkAddress and #GNetworkService provide wrappers around
* #GResolver functionality that also implement #GSocketConnectable, * #GResolver functionality that also implement #GSocketConnectable,
* making it easy to connect to a remote host/service. * making it easy to connect to a remote host/service.
**/ */
/** /**
* GResolver: * GResolver:
...@@ -89,7 +89,6 @@ g_resolver_class_init (GResolverClass *resolver_class) ...@@ -89,7 +89,6 @@ g_resolver_class_init (GResolverClass *resolver_class)
static void static void
g_resolver_init (GResolver *resolver) g_resolver_init (GResolver *resolver)
{ {
;
} }
static GResolver *default_resolver; static GResolver *default_resolver;
...@@ -141,7 +140,7 @@ g_resolver_get_default (void) ...@@ -141,7 +140,7 @@ g_resolver_get_default (void)
* itself as the default resolver for all later code to use. * itself as the default resolver for all later code to use.
* *
* Since: 2.22 * Since: 2.22
**/ */
void void
g_resolver_set_default (GResolver *resolver) g_resolver_set_default (GResolver *resolver)
{ {
...@@ -184,7 +183,7 @@ g_resolver_set_default (GResolver *resolver) ...@@ -184,7 +183,7 @@ g_resolver_set_default (GResolver *resolver)
* done with it. (You can use g_resolver_free_addresses() to do this.) * done with it. (You can use g_resolver_free_addresses() to do this.)
* *
* Since: 2.22 * Since: 2.22
**/ */
GList * GList *
g_resolver_lookup_by_name (GResolver *resolver, g_resolver_lookup_by_name (GResolver *resolver,
const gchar *hostname, const gchar *hostname,
...@@ -223,11 +222,11 @@ g_resolver_lookup_by_name (GResolver *resolver, ...@@ -223,11 +222,11 @@ g_resolver_lookup_by_name (GResolver *resolver,
* *
* Begins asynchronously resolving @hostname to determine its * Begins asynchronously resolving @hostname to determine its
* associated IP address(es), and eventually calls @callback, which * associated IP address(es), and eventually calls @callback, which
* must call g_resolver_lookup_by_name_finish() to get the result. See * must call g_resolver_lookup_by_name_finish() to get the result.
* g_resolver_lookup_by_name() for more details. * See g_resolver_lookup_by_name() for more details.
* *
* Since: 2.22 * Since: 2.22
**/ */
void void
g_resolver_lookup_by_name_async (GResolver *resolver, g_resolver_lookup_by_name_async (GResolver *resolver,
const gchar *hostname, const gchar *hostname,
...@@ -285,7 +284,7 @@ g_resolver_lookup_by_name_async (GResolver *resolver, ...@@ -285,7 +284,7 @@ g_resolver_lookup_by_name_async (GResolver *resolver,
* g_resolver_lookup_by_name() for more details. * g_resolver_lookup_by_name() for more details.
* *
* Since: 2.22 * Since: 2.22
**/ */
GList * GList *
g_resolver_lookup_by_name_finish (GResolver *resolver, g_resolver_lookup_by_name_finish (GResolver *resolver,
GAsyncResult *result, GAsyncResult *result,
...@@ -325,7 +324,7 @@ g_resolver_lookup_by_name_finish (GResolver *resolver, ...@@ -325,7 +324,7 @@ g_resolver_lookup_by_name_finish (GResolver *resolver,
* by hand.) * by hand.)
* *
* Since: 2.22 * Since: 2.22
**/ */
void void
g_resolver_free_addresses (GList *addresses) g_resolver_free_addresses (GList *addresses)
{ {
...@@ -357,7 +356,7 @@ g_resolver_free_addresses (GList *addresses) ...@@ -357,7 +356,7 @@ g_resolver_free_addresses (GList *addresses)
* form), or %NULL on error. * form), or %NULL on error.
* *
* Since: 2.22 * Since: 2.22
**/ */
gchar * gchar *
g_resolver_lookup_by_address (GResolver *resolver, g_resolver_lookup_by_address (GResolver *resolver,
GInetAddress *address, GInetAddress *address,
...@@ -384,7 +383,7 @@ g_resolver_lookup_by_address (GResolver *resolver, ...@@ -384,7 +383,7 @@ g_resolver_lookup_by_address (GResolver *resolver,
* call g_resolver_lookup_by_address_finish() to get the final result. * call g_resolver_lookup_by_address_finish() to get the final result.
* *
* Since: 2.22 * Since: 2.22
**/ */
void void
g_resolver_lookup_by_address_async (GResolver *resolver, g_resolver_lookup_by_address_async (GResolver *resolver,
GInetAddress *address, GInetAddress *address,
...@@ -416,7 +415,7 @@ g_resolver_lookup_by_address_async (GResolver *resolver, ...@@ -416,7 +415,7 @@ g_resolver_lookup_by_address_async (GResolver *resolver,
* form), or %NULL on error. * form), or %NULL on error.
* *
* Since: 2.22 * Since: 2.22
**/ */
gchar * gchar *
g_resolver_lookup_by_address_finish (GResolver *resolver, g_resolver_lookup_by_address_finish (GResolver *resolver,
GAsyncResult *result, GAsyncResult *result,
...@@ -489,7 +488,7 @@ g_resolver_get_service_rrname (const char *service, ...@@ -489,7 +488,7 @@ g_resolver_get_service_rrname (const char *service,
* (You can use g_resolver_free_targets() to do this.) * (You can use g_resolver_free_targets() to do this.)
* *
* Since: 2.22 * Since: 2.22
**/ */
GList * GList *
g_resolver_lookup_service (GResolver *resolver, g_resolver_lookup_service (GResolver *resolver,
const gchar *service, const gchar *service,
...@@ -532,7 +531,7 @@ g_resolver_lookup_service (GResolver *resolver, ...@@ -532,7 +531,7 @@ g_resolver_lookup_service (GResolver *resolver,
* details. * details.
* *
* Since: 2.22 * Since: 2.22
**/ */
void void
g_resolver_lookup_service_async (GResolver *resolver, g_resolver_lookup_service_async (GResolver *resolver,
const gchar *service, const gchar *service,
...@@ -574,7 +573,7 @@ g_resolver_lookup_service_async (GResolver *resolver, ...@@ -574,7 +573,7 @@ g_resolver_lookup_service_async (GResolver *resolver,
* g_resolver_lookup_service() for more details. * g_resolver_lookup_service() for more details.
* *
* Since: 2.22 * Since: 2.22
**/ */
GList * GList *
g_resolver_lookup_service_finish (GResolver *resolver, g_resolver_lookup_service_finish (GResolver *resolver,
GAsyncResult *result, GAsyncResult *result,
...@@ -604,7 +603,7 @@ g_resolver_lookup_service_finish (GResolver *resolver, ...@@ -604,7 +603,7 @@ g_resolver_lookup_service_finish (GResolver *resolver,
* results by hand.) * results by hand.)
* *
* Since: 2.22 * Since: 2.22
**/ */
void void
g_resolver_free_targets (GList *targets) g_resolver_free_targets (GList *targets)
{ {
...@@ -617,13 +616,13 @@ g_resolver_free_targets (GList *targets) ...@@ -617,13 +616,13 @@ g_resolver_free_targets (GList *targets)
/** /**
* g_resolver_error_quark: * g_resolver_error_quark:
* *
* Gets the #GResolver Error Quark. * Gets the #GResolver Error Quark.
* *
* Return value: a #GQuark. * Return value: a #GQuark.
* *
* Since: 2.22 * Since: 2.22
**/ */
GQuark GQuark
g_resolver_error_quark (void) g_resolver_error_quark (void)
{ {
......
...@@ -97,7 +97,7 @@ g_srv_target_get_type (void) ...@@ -97,7 +97,7 @@ g_srv_target_get_type (void)
* Return value: a new #GSrvTarget. * Return value: a new #GSrvTarget.
* *
* Since: 2.22 * Since: 2.22
**/ */
GSrvTarget * GSrvTarget *
g_srv_target_new (const gchar *hostname, g_srv_target_new (const gchar *hostname,
guint16 port, guint16 port,
...@@ -123,7 +123,7 @@ g_srv_target_new (const gchar *hostname, ...@@ -123,7 +123,7 @@ g_srv_target_new (const gchar *hostname,
* Return value: a copy of @target * Return value: a copy of @target
* *
* Since: 2.22 * Since: 2.22
**/ */
GSrvTarget * GSrvTarget *
g_srv_target_copy (GSrvTarget *target) g_srv_target_copy (GSrvTarget *target)
{ {
...@@ -138,7 +138,7 @@ g_srv_target_copy (GSrvTarget *target) ...@@ -138,7 +138,7 @@ g_srv_target_copy (GSrvTarget *target)
* Frees @target * Frees @target
* *
* Since: 2.22 * Since: 2.22
**/ */
void void
g_srv_target_free (GSrvTarget *target) g_srv_target_free (GSrvTarget *target)
{ {
...@@ -158,7 +158,7 @@ g_srv_target_free (GSrvTarget *target) ...@@ -158,7 +158,7 @@ g_srv_target_free (GSrvTarget *target)
* Return value: @target's hostname * Return value: @target's hostname
* *
* Since: 2.22 * Since: 2.22
**/ */
const gchar * const gchar *
g_srv_target_get_hostname (GSrvTarget *target) g_srv_target_get_hostname (GSrvTarget *target)
{ {
...@@ -174,7 +174,7 @@ g_srv_target_get_hostname (GSrvTarget *target) ...@@ -174,7 +174,7 @@ g_srv_target_get_hostname (GSrvTarget *target)
* Return value: @target's port * Return value: @target's port
* *
* Since: 2.22 * Since: 2.22
**/ */
guint16 guint16
g_srv_target_get_port (GSrvTarget *target) g_srv_target_get_port (GSrvTarget *target)
{ {
...@@ -192,7 +192,7 @@ g_srv_target_get_port (GSrvTarget *target) ...@@ -192,7 +192,7 @@ g_srv_target_get_port (GSrvTarget *target)
* Return value: @target's priority * Return value: @target's priority
* *
* Since: 2.22 * Since: 2.22
**/ */
guint16 guint16
g_srv_target_get_priority (GSrvTarget *target) g_srv_target_get_priority (GSrvTarget *target)
{ {
...@@ -210,7 +210,7 @@ g_srv_target_get_priority (GSrvTarget *target) ...@@ -210,7 +210,7 @@ g_srv_target_get_priority (GSrvTarget *target)
* Return value: @target's weight * Return value: @target's weight
* *
* Since: 2.22 * Since: 2.22
**/ */
guint16 guint16
g_srv_target_get_weight (GSrvTarget *target) g_srv_target_get_weight (GSrvTarget *target)
{ {
...@@ -249,7 +249,7 @@ compare_target (gconstpointer a, gconstpointer b) ...@@ -249,7 +249,7 @@ compare_target (gconstpointer a, gconstpointer b)
* Return value: the head of the sorted list. * Return value: the head of the sorted list.
* *
* Since: 2.22 * Since: 2.22
**/ */
GList * GList *
g_srv_target_list_sort (GList *targets) g_srv_target_list_sort (GList *targets)
{ {
......
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* GIO - GLib Input, Output and Streaming Library /* GIO - GLib Input, Output and Streaming Library
* *
* Copyright (C) 2008 Red Hat, Inc. * Copyright (C) 2008 Red Hat, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
...@@ -44,10 +44,8 @@ static void ...@@ -44,10 +44,8 @@ static void
g_threaded_resolver_init (GThreadedResolver *gtr) g_threaded_resolver_init (GThreadedResolver *gtr)
{ {
if (g_thread_supported ()) if (g_thread_supported ())
{ gtr->thread_pool = g_thread_pool_new (threaded_resolver_thread, gtr,
gtr->thread_pool = g_thread_pool_new (threaded_resolver_thread, gtr, -1, FALSE, NULL);
-1, FALSE, NULL);
}
} }
static void static void
...@@ -311,7 +309,7 @@ threaded_resolver_thread (gpointer thread_data, ...@@ -311,7 +309,7 @@ threaded_resolver_thread (gpointer thread_data,
req->resolve_func (req, &req->error); req->resolve_func (req, &req->error);
g_threaded_resolver_request_complete (req, FALSE); g_threaded_resolver_request_complete (req, FALSE);
g_threaded_resolver_request_unref (req); g_threaded_resolver_request_unref (req);
} }
static void static void
resolve_sync (GThreadedResolver *gtr, resolve_sync (GThreadedResolver *gtr,
......
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* GIO - GLib Input, Output and Streaming Library /* GIO - GLib Input, Output and Streaming Library
* *
* Copyright (C) 2008 Red Hat, Inc. * Copyright (C) 2008 Red Hat, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
......
...@@ -8,7 +8,7 @@ msgid "" ...@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: glib VERSION\n" "Project-Id-Version: glib VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-04-09 18:27-0400\n" "POT-Creation-Date: 2009-05-03 17:49-0400\n"
"PO-Revision-Date: 2003-01-16 08:39+EDT\n" "PO-Revision-Date: 2003-01-16 08:39+EDT\n"
"Last-Translator: Ge'ez Frontier Foundation <locales@geez.org>\n" "Last-Translator: Ge'ez Frontier Foundation <locales@geez.org>\n"
"Language-Team: Amharic <locales@geez.org>\n" "Language-Team: Amharic <locales@geez.org>\n"
...@@ -297,116 +297,91 @@ msgstr "" ...@@ -297,116 +297,91 @@ msgstr ""
msgid "Failed to map file '%s': mmap() failed: %s" msgid "Failed to map file '%s': mmap() failed: %s"
msgstr "" msgstr ""
#: glib/gmarkup.c:255 glib/gmarkup.c:295 #: glib/gmarkup.c:303 glib/gmarkup.c:343
#, c-format #, c-format
msgid "Error on line %d char %d: " msgid "Error on line %d char %d: "
msgstr "" msgstr ""
#: glib/gmarkup.c:389 #: glib/gmarkup.c:363 glib/gmarkup.c:441
#, c-format #, fuzzy, c-format
msgid "Error on line %d: %s" msgid "Invalid UTF-8 encoded text in name - not valid '%s'"
msgstr "" msgstr "የማይሰራ የUTF-8 ጽሑፍ"
#: glib/gmarkup.c:493
msgid ""
"Empty entity '&;' seen; valid entities are: &amp; &quot; &lt; &gt; &apos;"
msgstr ""
#: glib/gmarkup.c:503 #: glib/gmarkup.c:374
#, c-format #, c-format
msgid "" msgid "'%s' is not a valid name "
"Character '%s' is not valid at the start of an entity name; the & character "
"begins an entity; if this ampersand isn't supposed to be an entity, escape "
"it as &amp;"
msgstr "" msgstr ""
#: glib/gmarkup.c:537 #: glib/gmarkup.c:390
#, c-format #, c-format
msgid "Character '%s' is not valid inside an entity name" msgid "'%s' is not a valid name: '%c' "
msgstr "" msgstr ""
#: glib/gmarkup.c:574 #: glib/gmarkup.c:494
#, c-format #, c-format
msgid "Entity name '%s' is not known" msgid "Error on line %d: %s"
msgstr ""