From 7aadde73d859e0017d880eae54b2322480a8d15c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 18 May 2016 17:32:39 +0200 Subject: [PATCH] Handle cb return error code for task cancellation --- tasks/task_file_transfer.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tasks/task_file_transfer.c b/tasks/task_file_transfer.c index 4b98f083ce..8624889b82 100644 --- a/tasks/task_file_transfer.c +++ b/tasks/task_file_transfer.c @@ -55,7 +55,8 @@ static int task_file_transfer_iterate_parse(nbio_handle_t *nbio) if (nbio->cb) { int len = 0; - nbio->cb(nbio, len); + if (nbio->cb(nbio, len) == -1) + return -1; } return 0; @@ -68,7 +69,8 @@ void rarch_task_file_load_handler(retro_task_t *task) switch (nbio->status) { case NBIO_STATUS_TRANSFER_PARSE: - task_file_transfer_iterate_parse(nbio); + if (task_file_transfer_iterate_parse(nbio) == -1) + goto task_finished; nbio->status = NBIO_STATUS_TRANSFER_PARSE_FREE; break; case NBIO_STATUS_TRANSFER: