Hi George,
You will need to update MPI_Test and MPI_Wait as well, which do not
check that status != NULL. Is there an index of MPI functions by their
parameter type, such as the set of functions that take an MPI_Status
argument?
Cheers,
Shaun
George Bosilca wrote:
Shaun,
Thanks for the bug report. In general we like to check the arguments
against NULL, in order to make sure we don't segfault. However, in
this particular context we check against NULL but NULL is our
MPI_STATUS_IGNORE. I think I will prefer a little bit more safer
solution where we test against NULL just in case we will change the
MPI_STATUS_IGNORE value. So instead of the (NULL == status) I will
prefer ((NULL == status) && (NULL != MPI_STATUS_IGNORE)). This way the
compiler can optimize out the second test when MPI_STATUS_IGNORE is a
NULL constant, and will keep it in case the MPI_STATUS_IGNORE became !
= NULL.
george.
On Mar 27, 2009, at 13:39 , Shaun Jackman wrote:
MPI_Request_get_status fails if the status parameter is passed
MPI_STATUS_IGNORE. A patch is attached.
Cheers,
Shaun
2009-03-26 Shaun Jackman <sjack...@gmail.com>
* ompi/mpi/c/request_get_status.c (MPI_Request_get_status):
Do not fail if the status argument is NULL, because the
application may pass MPI_STATUS_IGNORE for the status argument.
2009-03-26 Shaun Jackman <sjack...@gmail.com>
* ompi/mpi/c/request_get_status.c (MPI_Request_get_status):
Do not fail if the status argument is NULL, because the
application may pass MPI_STATUS_IGNORE for the status argument.
--- ompi/mpi/c/request_get_status.c.orig 2008-11-04
12:56:27.000000000 -0800
+++ ompi/mpi/c/request_get_status.c 2009-03-26 14:00:00.807344000
-0700
@@ -49,7 +49,7 @@
if( MPI_PARAM_CHECK ) {
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
- if( (NULL == flag) || (NULL == status) ) {
+ if (NULL == flag) {
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_ARG, FUNC_NAME);
} else if (NULL == request) {
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD,
MPI_ERR_REQUEST,
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel