Commit a28215fa authored by Matthias Clasen's avatar Matthias Clasen

Release 2.21.0

parent 4e694faa
......@@ -130,4 +130,7 @@
<index role="2.20">
<title>Index of new symbols in 2.20</title>
</index>
<index role="2.22">
<title>Index of new symbols in 2.20</title>
</index>
</book>
......@@ -244,5 +244,8 @@ synchronize their operation.
<index role="2.20">
<title>Index of new symbols in 2.20</title>
</index>
<index role="2.22">
<title>Index of new symbols in 2.22</title>
</index>
</book>
......@@ -155,5 +155,8 @@
<index role="2.18">
<title>Index of new symbols in 2.18</title>
</index>
<index role="2.22">
<title>Index of new symbols in 2.22</title>
</index>
</book>
......@@ -483,7 +483,7 @@ g_cancellable_cancel (GCancellable *cancellable)
gboolean cancel;
cancel = FALSE;
G_LOCK(cancellable);
if (cancellable != NULL &&
!cancellable->cancelled)
......@@ -503,14 +503,14 @@ g_cancellable_cancel (GCancellable *cancellable)
g_signal_emit (cancellable, signals[CANCELLED], 0);
G_LOCK(cancellable);
cancellable->cancelled_running = FALSE;
if (cancellable->cancelled_running_waiting)
g_cond_broadcast (cancellable_cond);
cancellable->cancelled_running_waiting = FALSE;
G_UNLOCK(cancellable);
g_object_unref (cancellable);
}
}
......@@ -524,8 +524,8 @@ g_cancellable_cancel (GCancellable *cancellable)
*
* Convenience function to connect to the #GCancellable::cancelled
* 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
* time of the connect if @cancellable is already cancelled,
* or when @cancellable is cancelled in some thread.
......@@ -535,11 +535,11 @@ g_cancellable_cancel (GCancellable *cancellable)
* cancelled.
*
* See #GCancellable::cancelled for details on how to use this.
*
*
* Returns: The id of the signal handler or 0 if @cancellable has already
* been cancelled.
*
* Since: 2.20
* Since: 2.22
*/
gulong
g_cancellable_connect (GCancellable *cancellable,
......@@ -550,30 +550,30 @@ g_cancellable_connect (GCancellable *cancellable,
gulong id;
g_return_val_if_fail (G_IS_CANCELLABLE (cancellable), 0);
G_LOCK(cancellable);
G_LOCK (cancellable);
if (cancellable->cancelled)
{
void (*_callback) (GCancellable *cancellable,
gpointer user_data);
gpointer user_data);
_callback = (void *)callback;
id = 0;
_callback (cancellable, data);
if (data_destroy_func)
data_destroy_func (data);
data_destroy_func (data);
}
else
{
id = g_signal_connect_data (cancellable, "cancelled",
callback, data,
(GClosureNotify) data_destroy_func,
0);
callback, data,
(GClosureNotify) data_destroy_func,
0);
}
G_UNLOCK(cancellable);
G_UNLOCK (cancellable);
return id;
}
......@@ -585,17 +585,17 @@ g_cancellable_connect (GCancellable *cancellable,
*
* Disconnects a handler from an cancellable instance similar to
* 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
* 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
* details on how to use this.
*
* If @cancellable is %NULL or @handler_id is %0 this function does
* nothing.
*
* Since: 2.20
*
* Since: 2.22
*/
void
g_cancellable_disconnect (GCancellable *cancellable,
......@@ -604,16 +604,16 @@ g_cancellable_disconnect (GCancellable *cancellable,
if (handler_id == 0 || cancellable == NULL)
return;
G_LOCK(cancellable);
G_LOCK (cancellable);
while (cancellable->cancelled_running)
{
cancellable->cancelled_running_waiting = TRUE;
cancellable->cancelled_running_waiting = TRUE;
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_UNLOCK(cancellable);
G_UNLOCK (cancellable);
}
#define __G_CANCELLABLE_C__
......
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* GIO - GLib Input, Output and Streaming Library
*
*
* Copyright (C) 2008 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
......@@ -56,7 +56,7 @@
* #GNetworkAddress and #GNetworkService provide wrappers around
* #GResolver functionality that also implement #GSocketConnectable,
* making it easy to connect to a remote host/service.
**/
*/
/**
* GResolver:
......@@ -89,7 +89,6 @@ g_resolver_class_init (GResolverClass *resolver_class)
static void
g_resolver_init (GResolver *resolver)
{
;
}
static GResolver *default_resolver;
......@@ -141,7 +140,7 @@ g_resolver_get_default (void)
* itself as the default resolver for all later code to use.
*
* Since: 2.22
**/
*/
void
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.)
*
* Since: 2.22
**/
*/
GList *
g_resolver_lookup_by_name (GResolver *resolver,
const gchar *hostname,
......@@ -223,11 +222,11 @@ g_resolver_lookup_by_name (GResolver *resolver,
*
* Begins asynchronously resolving @hostname to determine its
* associated IP address(es), and eventually calls @callback, which
* must call g_resolver_lookup_by_name_finish() to get the result. See
* g_resolver_lookup_by_name() for more details.
* must call g_resolver_lookup_by_name_finish() to get the result.
* See g_resolver_lookup_by_name() for more details.
*
* Since: 2.22
**/
*/
void
g_resolver_lookup_by_name_async (GResolver *resolver,
const gchar *hostname,
......@@ -285,7 +284,7 @@ g_resolver_lookup_by_name_async (GResolver *resolver,
* g_resolver_lookup_by_name() for more details.
*
* Since: 2.22
**/
*/
GList *
g_resolver_lookup_by_name_finish (GResolver *resolver,
GAsyncResult *result,
......@@ -325,7 +324,7 @@ g_resolver_lookup_by_name_finish (GResolver *resolver,
* by hand.)
*
* Since: 2.22
**/
*/
void
g_resolver_free_addresses (GList *addresses)
{
......@@ -357,7 +356,7 @@ g_resolver_free_addresses (GList *addresses)
* form), or %NULL on error.
*
* Since: 2.22
**/
*/
gchar *
g_resolver_lookup_by_address (GResolver *resolver,
GInetAddress *address,
......@@ -384,7 +383,7 @@ g_resolver_lookup_by_address (GResolver *resolver,
* call g_resolver_lookup_by_address_finish() to get the final result.
*
* Since: 2.22
**/
*/
void
g_resolver_lookup_by_address_async (GResolver *resolver,
GInetAddress *address,
......@@ -416,7 +415,7 @@ g_resolver_lookup_by_address_async (GResolver *resolver,
* form), or %NULL on error.
*
* Since: 2.22
**/
*/
gchar *
g_resolver_lookup_by_address_finish (GResolver *resolver,
GAsyncResult *result,
......@@ -489,7 +488,7 @@ g_resolver_get_service_rrname (const char *service,
* (You can use g_resolver_free_targets() to do this.)
*
* Since: 2.22
**/
*/
GList *
g_resolver_lookup_service (GResolver *resolver,
const gchar *service,
......@@ -532,7 +531,7 @@ g_resolver_lookup_service (GResolver *resolver,
* details.
*
* Since: 2.22
**/
*/
void
g_resolver_lookup_service_async (GResolver *resolver,
const gchar *service,
......@@ -574,7 +573,7 @@ g_resolver_lookup_service_async (GResolver *resolver,
* g_resolver_lookup_service() for more details.
*
* Since: 2.22
**/
*/
GList *
g_resolver_lookup_service_finish (GResolver *resolver,
GAsyncResult *result,
......@@ -604,7 +603,7 @@ g_resolver_lookup_service_finish (GResolver *resolver,
* results by hand.)
*
* Since: 2.22
**/
*/
void
g_resolver_free_targets (GList *targets)
{
......@@ -617,13 +616,13 @@ g_resolver_free_targets (GList *targets)
/**
* g_resolver_error_quark:
*
*
* Gets the #GResolver Error Quark.
*
* Return value: a #GQuark.
*
* Since: 2.22
**/
*/
GQuark
g_resolver_error_quark (void)
{
......
......@@ -97,7 +97,7 @@ g_srv_target_get_type (void)
* Return value: a new #GSrvTarget.
*
* Since: 2.22
**/
*/
GSrvTarget *
g_srv_target_new (const gchar *hostname,
guint16 port,
......@@ -123,7 +123,7 @@ g_srv_target_new (const gchar *hostname,
* Return value: a copy of @target
*
* Since: 2.22
**/
*/
GSrvTarget *
g_srv_target_copy (GSrvTarget *target)
{
......@@ -138,7 +138,7 @@ g_srv_target_copy (GSrvTarget *target)
* Frees @target
*
* Since: 2.22
**/
*/
void
g_srv_target_free (GSrvTarget *target)
{
......@@ -158,7 +158,7 @@ g_srv_target_free (GSrvTarget *target)
* Return value: @target's hostname
*
* Since: 2.22
**/
*/
const gchar *
g_srv_target_get_hostname (GSrvTarget *target)
{
......@@ -174,7 +174,7 @@ g_srv_target_get_hostname (GSrvTarget *target)
* Return value: @target's port
*
* Since: 2.22
**/
*/
guint16
g_srv_target_get_port (GSrvTarget *target)
{
......@@ -192,7 +192,7 @@ g_srv_target_get_port (GSrvTarget *target)
* Return value: @target's priority
*
* Since: 2.22
**/
*/
guint16
g_srv_target_get_priority (GSrvTarget *target)
{
......@@ -210,7 +210,7 @@ g_srv_target_get_priority (GSrvTarget *target)
* Return value: @target's weight
*
* Since: 2.22
**/
*/
guint16
g_srv_target_get_weight (GSrvTarget *target)
{
......@@ -249,7 +249,7 @@ compare_target (gconstpointer a, gconstpointer b)
* Return value: the head of the sorted list.
*
* Since: 2.22
**/
*/
GList *
g_srv_target_list_sort (GList *targets)
{
......
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* GIO - GLib Input, Output and Streaming Library
*
*
* Copyright (C) 2008 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
......@@ -44,10 +44,8 @@ static void
g_threaded_resolver_init (GThreadedResolver *gtr)
{
if (g_thread_supported ())
{
gtr->thread_pool = g_thread_pool_new (threaded_resolver_thread, gtr,
-1, FALSE, NULL);
}
gtr->thread_pool = g_thread_pool_new (threaded_resolver_thread, gtr,
-1, FALSE, NULL);
}
static void
......@@ -311,7 +309,7 @@ threaded_resolver_thread (gpointer thread_data,
req->resolve_func (req, &req->error);
g_threaded_resolver_request_complete (req, FALSE);
g_threaded_resolver_request_unref (req);
}
}
static void
resolve_sync (GThreadedResolver *gtr,
......
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* GIO - GLib Input, Output and Streaming Library
*
*
* Copyright (C) 2008 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
......
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: glib VERSION\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"
"Last-Translator: Ge'ez Frontier Foundation <locales@geez.org>\n"
"Language-Team: Amharic <locales@geez.org>\n"
......@@ -297,116 +297,91 @@ msgstr ""
msgid "Failed to map file '%s': mmap() failed: %s"
msgstr ""
#: glib/gmarkup.c:255 glib/gmarkup.c:295
#: glib/gmarkup.c:303 glib/gmarkup.c:343
#, c-format
msgid "Error on line %d char %d: "
msgstr ""
#: glib/gmarkup.c:389
#, c-format
msgid "Error on line %d: %s"
msgstr ""
#: glib/gmarkup.c:493
msgid ""
"Empty entity '&;' seen; valid entities are: &amp; &quot; &lt; &gt; &apos;"
msgstr ""
#: glib/gmarkup.c:363 glib/gmarkup.c:441
#, fuzzy, c-format
msgid "Invalid UTF-8 encoded text in name - not valid '%s'"
msgstr "የማይሰራ የUTF-8 ጽሑፍ"
#: glib/gmarkup.c:503
#: glib/gmarkup.c:374
#, c-format
msgid ""
"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;"
msgid "'%s' is not a valid name "
msgstr ""
#: glib/gmarkup.c:537
#: glib/gmarkup.c:390
#, c-format
msgid "Character '%s' is not valid inside an entity name"
msgid "'%s' is not a valid name: '%c' "
msgstr ""
#: glib/gmarkup.c:574
#: glib/gmarkup.c:494
#, c-format
msgid "Entity name '%s' is not known"
msgstr ""
#: glib/gmarkup.c:585
msgid ""
"Entity did not end with a semicolon; most likely you used an ampersand "
"character without intending to start an entity - escape ampersand as &amp;"
msgid "Error on line %d: %s"
msgstr ""
#: glib/gmarkup.c:638
#: glib/gmarkup.c:578
#, c-format
msgid ""
"Failed to parse '%-.*s', which should have been a digit inside a character "
"reference (&#234; for example) - perhaps the digit is too large"
msgstr ""
#: glib/gmarkup.c:660
#, c-format
msgid "Character reference '%-.*s' does not encode a permitted character"
msgstr ""
#: glib/gmarkup.c:675
msgid "Empty character reference; should include a digit such as &#454;"
msgstr ""
#: glib/gmarkup.c:685
#: glib/gmarkup.c:590
msgid ""
"Character reference did not end with a semicolon; most likely you used an "
"ampersand character without intending to start an entity - escape ampersand "
"as &amp;"
msgstr ""
#: glib/gmarkup.c:771
msgid "Unfinished entity reference"
#: glib/gmarkup.c:616
#, c-format
msgid "Character reference '%-.*s' does not encode a permitted character"
msgstr ""
#: glib/gmarkup.c:777
msgid "Unfinished character reference"
#: glib/gmarkup.c:654
msgid ""
"Empty entity '&;' seen; valid entities are: &amp; &quot; &lt; &gt; &apos;"
msgstr ""
#: glib/gmarkup.c:1063
#, fuzzy
msgid "Invalid UTF-8 encoded text - overlong sequence"
msgstr "የማይሰራ የUTF-8 ጽሑፍ"
#: glib/gmarkup.c:1091
#, fuzzy
msgid "Invalid UTF-8 encoded text - not a start char"
msgstr "የማይሰራ የUTF-8 ጽሑፍ"
#: glib/gmarkup.c:662
#, c-format
msgid "Entity name '%-.*s' is not known"
msgstr ""
#: glib/gmarkup.c:1130
#, fuzzy, c-format
msgid "Invalid UTF-8 encoded text - not valid '%s'"
msgstr "የማይሰራ የUTF-8 ጽሑፍ"
#: glib/gmarkup.c:667
msgid ""
"Entity did not end with a semicolon; most likely you used an ampersand "
"character without intending to start an entity - escape ampersand as &amp;"
msgstr ""
#: glib/gmarkup.c:1168
#: glib/gmarkup.c:973
msgid "Document must begin with an element (e.g. <book>)"
msgstr ""
#: glib/gmarkup.c:1208
#: glib/gmarkup.c:1013
#, c-format
msgid ""
"'%s' is not a valid character following a '<' character; it may not begin an "
"element name"
msgstr ""
#: glib/gmarkup.c:1276
#: glib/gmarkup.c:1081
#, c-format
msgid ""
"Odd character '%s', expected a '>' character to end the empty-element tag '%"
"s'"
msgstr ""
#: glib/gmarkup.c:1365
#: glib/gmarkup.c:1165
#, c-format
msgid ""
"Odd character '%s', expected a '=' after attribute name '%s' of element '%s'"
msgstr ""
#: glib/gmarkup.c:1407
#: glib/gmarkup.c:1206
#, c-format
msgid ""
"Odd character '%s', expected a '>' or '/' character to end the start tag of "
......@@ -414,87 +389,87 @@ msgid ""
"character in an attribute name"
msgstr ""
#: glib/gmarkup.c:1493
#: glib/gmarkup.c:1283
#, c-format
msgid ""
"Odd character '%s', expected an open quote mark after the equals sign when "
"giving value for attribute '%s' of element '%s'"
msgstr ""
#: glib/gmarkup.c:1635
#: glib/gmarkup.c:1417
#, c-format
msgid ""
"'%s' is not a valid character following the characters '</'; '%s' may not "
"begin an element name"
msgstr ""
#: glib/gmarkup.c:1675
#: glib/gmarkup.c:1453
#, c-format
msgid ""
"'%s' is not a valid character following the close element name '%s'; the "
"allowed character is '>'"
msgstr ""
#: glib/gmarkup.c:1686
#: glib/gmarkup.c:1464
#, c-format
msgid "Element '%s' was closed, no element is currently open"
msgstr ""
#: glib/gmarkup.c:1695
#: glib/gmarkup.c:1473
#, c-format
msgid "Element '%s' was closed, but the currently open element is '%s'"
msgstr ""
#: glib/gmarkup.c:1858
#: glib/gmarkup.c:1640
msgid "Document was empty or contained only whitespace"
msgstr ""
#: glib/gmarkup.c:1872
#: glib/gmarkup.c:1654
msgid "Document ended unexpectedly just after an open angle bracket '<'"
msgstr ""
#: glib/gmarkup.c:1880 glib/gmarkup.c:1925
#: glib/gmarkup.c:1662 glib/gmarkup.c:1707
#, c-format
msgid ""
"Document ended unexpectedly with elements still open - '%s' was the last "
"element opened"
msgstr ""
#: glib/gmarkup.c:1888
#: glib/gmarkup.c:1670
#, c-format
msgid ""
"Document ended unexpectedly, expected to see a close angle bracket ending "
"the tag <%s/>"
msgstr ""
#: glib/gmarkup.c:1894
#: glib/gmarkup.c:1676
msgid "Document ended unexpectedly inside an element name"
msgstr ""
#: glib/gmarkup.c:1900
#: glib/gmarkup.c:1682
msgid "Document ended unexpectedly inside an attribute name"
msgstr ""
#: glib/gmarkup.c:1905
#: glib/gmarkup.c:1687
msgid "Document ended unexpectedly inside an element-opening tag."
msgstr ""
#: glib/gmarkup.c:1911
#: glib/gmarkup.c:1693
msgid ""
"Document ended unexpectedly after the equals sign following an attribute "
"name; no attribute value"
msgstr ""
#: glib/gmarkup.c:1918
#: glib/gmarkup.c:1700
msgid "Document ended unexpectedly while inside an attribute value"
msgstr ""
#: glib/gmarkup.c:1934
#: glib/gmarkup.c:1716
#, c-format
msgid "Document ended unexpectedly inside the close tag for element '%s'"
msgstr ""
#: glib/gmarkup.c:1940
#: glib/gmarkup.c:1722
msgid "Document ended unexpectedly inside a comment or processing instruction"
msgstr ""
......@@ -929,61 +904,61 @@ msgstr ""
msgid "Character out of range for UTF-16"
msgstr ""
#: glib/goption.c:615
#: glib/goption.c:724
msgid "Usage:"
msgstr ""
#: glib/goption.c:615
#: glib/goption.c:724
msgid "[OPTION...]"
msgstr ""
#: glib/goption.c:719
#: glib/goption.c:828
msgid "Help Options:"
msgstr ""
#: glib/goption.c:720
#: glib/goption.c:829
msgid "Show help options"
msgstr ""
#: glib/goption.c:726
#: glib/goption.c:835
msgid "Show all help options"
msgstr ""
#: glib/goption.c:788
#: glib/goption.c:897
msgid "Application Options:"
msgstr ""
#: glib/goption.c:850 glib/goption.c:920
#: glib/goption.c:959 glib/goption.c:1029
#, c-format
msgid "Cannot parse integer value '%s' for %s"
msgstr ""
#: glib/goption.c:860 glib/goption.c:928
#: glib/goption.c:969 glib/goption.c:1037
#, c-format
msgid "Integer value '%s' for %s out of range"
msgstr ""
#: glib/goption.c:885
#: glib/goption.c:994
#, c-format
msgid "Cannot parse double value '%s' for %s"
msgstr ""
#: glib/goption.c:893
#: glib/goption.c:1002
#, c-format
msgid "Double value '%s' for %s out of range"
msgstr ""
#: glib/goption.c:1156 glib/goption.c:1235
#: glib/goption.c:1265 glib/goption.c:1344
#, fuzzy, c-format
msgid "Error parsing option %s"
msgstr "ፋይል '%s'ን ለማንበብ ስህተት አለ፦ %s"
#: glib/goption.c:1266 glib/goption.c:1380
#: glib/goption.c:1375 glib/goption.c:1489
#, c-format
msgid "Missing argument for %s"
msgstr ""
#: glib/goption.c:1773
#: glib/goption.c:1882
#, c-format
msgid "Unknown option %s"
msgstr ""
......@@ -1100,8 +1075,8 @@ msgstr ""
msgid "Stream is already closed"
msgstr ""