io: stop incrementing reference in qio_task_get_source
Incrementing the reference in qio_task_get_source is not necessary, since we're not running concurrently with any other code touching the QIOTask. This minimizes chances of further memory leaks. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
6979a813f3
commit
937470bb54
@ -244,9 +244,10 @@ void qio_task_abort(QIOTask *task,
|
||||
* @task: the task struct
|
||||
*
|
||||
* Get the source object associated with the background
|
||||
* task. This returns a new reference to the object,
|
||||
* which the caller must released with object_unref()
|
||||
* when no longer required.
|
||||
* task. The caller does not own a reference on the
|
||||
* returned Object, and so should call object_ref()
|
||||
* if it wants to keep the object pointer outside the
|
||||
* lifetime of the QIOTask object.
|
||||
*
|
||||
* Returns: the source object
|
||||
*/
|
||||
|
@ -168,7 +168,6 @@ static int qio_channel_socket_connect_worker(QIOTask *task,
|
||||
addr,
|
||||
errp);
|
||||
|
||||
object_unref(OBJECT(ioc));
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -231,7 +230,6 @@ static int qio_channel_socket_listen_worker(QIOTask *task,
|
||||
addr,
|
||||
errp);
|
||||
|
||||
object_unref(OBJECT(ioc));
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -309,7 +307,6 @@ static int qio_channel_socket_dgram_worker(QIOTask *task,
|
||||
data->remoteAddr,
|
||||
errp);
|
||||
|
||||
object_unref(OBJECT(ioc));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -200,8 +200,6 @@ static gboolean qio_channel_tls_handshake_io(QIOChannel *ioc,
|
||||
qio_channel_tls_handshake_task(
|
||||
tioc, task);
|
||||
|
||||
object_unref(OBJECT(tioc));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -156,6 +156,5 @@ void qio_task_abort(QIOTask *task,
|
||||
|
||||
Object *qio_task_get_source(QIOTask *task)
|
||||
{
|
||||
object_ref(task->source);
|
||||
return task->source;
|
||||
}
|
||||
|
@ -76,7 +76,6 @@ static void test_task_complete(void)
|
||||
g_assert(obj == src);
|
||||
|
||||
object_unref(obj);
|
||||
object_unref(src);
|
||||
|
||||
g_assert(data.source == obj);
|
||||
g_assert(data.err == NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user