From 872623a5271cad73280197632d35112173dba4c0 Mon Sep 17 00:00:00 2001 From: Brian Barrett Date: Thu, 5 Jul 2007 22:30:42 +0000 Subject: [PATCH] Fix situation where we were not propogating error codes from ROMIO into non-blocking request status fields, so it was never being relayed to the user This commit was SVN r15296. --- ompi/mca/io/romio/src/io_romio_component.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ompi/mca/io/romio/src/io_romio_component.c b/ompi/mca/io/romio/src/io_romio_component.c index e52f8df3bb..721114dd90 100644 --- a/ompi/mca/io/romio/src/io_romio_component.c +++ b/ompi/mca/io/romio/src/io_romio_component.c @@ -279,10 +279,8 @@ static int progress() romio_rq = ((mca_io_romio_request_t *) item)->romio_rq; ret = ROMIO_PREFIX(MPIO_Test)(&romio_rq, &flag, &(((ompi_request_t *) item)->req_status)); - if (ret < 0) { - OPAL_THREAD_UNLOCK (&mca_io_romio_mutex); - return ret; - } else if (1 == flag) { + if ((0 != ret) || (0 != flag)) { + ioreq->super.req_status.MPI_ERROR = ret; ++count; /* we're done, so remove us from the pending list */ opal_list_remove_item(&mca_io_romio_pending_requests, item); @@ -297,7 +295,7 @@ static int progress() ret = ompi_request_free((ompi_request_t**) &ioreq); if (OMPI_SUCCESS != ret) { OPAL_THREAD_UNLOCK(&mca_io_romio_mutex); - return ret; + return count; } } }