1
1

don't call OMPI_REQUEST_INIT in req constructor

Calling OMPI_REQUEST_INIT puts the request into an _INACTIVE state
instead of an _INVALID state, which we don't want if it's been
simply been constructed, e.g., in a free_list.  Without this change a
future change to call destructors at free list destruction time will
result in request dtor state assertion failures.

Reviewed-by: bosilca

cmr=v1.7.4:reviewer=bosilca

This commit was SVN r29095.
Этот коммит содержится в:
Dave Goodell 2013-08-29 22:56:22 +00:00
родитель 43d1cd92ac
Коммит d1b5940e97

Просмотреть файл

@ -10,7 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2006-2012 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2006-2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved.
* Copyright (c) 2012 Oak Ridge National Labs. All rights reserved.
* $COPYRIGHT$
@ -51,7 +51,11 @@ ompi_request_fns_t ompi_request_functions = {
static void ompi_request_construct(ompi_request_t* req)
{
OMPI_REQUEST_INIT(req, false);
/* don't call _INIT, we don't to set the request to _INACTIVE and there will
* be no matching _FINI invocation */
req->req_state = OMPI_REQUEST_INVALID;
req->req_complete = false;
req->req_persistent = false;
req->req_free = NULL;
req->req_cancel = NULL;
req->req_complete_cb = NULL;