mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 15:33:39 +02:00
@@ -947,10 +947,7 @@ read_async_thread (GSimpleAsyncResult *res,
|
||||
op->buffer, op->count_requested,
|
||||
cancellable, &error);
|
||||
if (op->count_read == -1)
|
||||
{
|
||||
g_simple_async_result_set_from_error (res, error);
|
||||
g_error_free (error);
|
||||
}
|
||||
g_simple_async_result_take_error (res, error);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1012,10 +1009,7 @@ skip_async_thread (GSimpleAsyncResult *res,
|
||||
op->count_requested,
|
||||
cancellable, &error);
|
||||
if (op->count_skipped == -1)
|
||||
{
|
||||
g_simple_async_result_set_from_error (res, error);
|
||||
g_error_free (error);
|
||||
}
|
||||
g_simple_async_result_take_error (res, error);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
@@ -1066,13 +1060,12 @@ skip_callback_wrapper (GObject *source_object,
|
||||
|
||||
if (ret == -1)
|
||||
{
|
||||
if (data->count_skipped &&
|
||||
error->domain == G_IO_ERROR &&
|
||||
error->code == G_IO_ERROR_CANCELLED)
|
||||
{ /* No error, return partial read */ }
|
||||
if (data->count_skipped &&
|
||||
g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
|
||||
/* No error, return partial read */
|
||||
g_error_free (error);
|
||||
else
|
||||
g_simple_async_result_set_from_error (simple, error);
|
||||
g_error_free (error);
|
||||
g_simple_async_result_take_error (simple, error);
|
||||
}
|
||||
|
||||
/* Complete immediately, not in idle, since we're already in a mainloop callout */
|
||||
@@ -1164,10 +1157,7 @@ close_async_thread (GSimpleAsyncResult *res,
|
||||
{
|
||||
result = class->close_fn (G_INPUT_STREAM (object), cancellable, &error);
|
||||
if (!result)
|
||||
{
|
||||
g_simple_async_result_set_from_error (res, error);
|
||||
g_error_free (error);
|
||||
}
|
||||
g_simple_async_result_take_error (res, error);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user