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.
Этот коммит содержится в:
родитель
43d1cd92ac
Коммит
d1b5940e97
@ -10,7 +10,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* 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) 2009 Sun Microsystems, Inc. All rights reserved.
|
||||||
* Copyright (c) 2012 Oak Ridge National Labs. All rights reserved.
|
* Copyright (c) 2012 Oak Ridge National Labs. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
@ -51,7 +51,11 @@ ompi_request_fns_t ompi_request_functions = {
|
|||||||
|
|
||||||
static void ompi_request_construct(ompi_request_t* req)
|
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_free = NULL;
|
||||||
req->req_cancel = NULL;
|
req->req_cancel = NULL;
|
||||||
req->req_complete_cb = NULL;
|
req->req_complete_cb = NULL;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user