📄 peruse_module.c
字号:
/* * Copyright (c) 2004-2006 The University of Tennessee and The University * of Tennessee Research Foundation. All rights * reserved. * Copyright (c) 2004-2006 High Performance Computing Center Stuttgart, * University of Stuttgart. All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */#include "ompi_config.h"#include <stdlib.h>#include "mpi.h"#include "ompi/peruse/peruse.h"#include "ompi/peruse/peruse-internal.h"#include "ompi/constants.h"#include "class/ompi_pointer_array.h"static opal_list_t peruse_handle_list;static opal_mutex_t peruse_handle_list_lock;static int ompi_peruse_initialized = 0;static void ompi_peruse_handle_construct (ompi_peruse_handle_t* p){ OBJ_CONSTRUCT (&(p->lock), opal_mutex_t); p->active = 0; p->event = PERUSE_EVENT_INVALID; p->type = PERUSE_TYPE_INVALID; p->comm = MPI_COMM_NULL; /* p->win = MPI_WIN_NULL; */ /* p->file = MPI_FILE_NULL */ p->fn = NULL; p->param = NULL; OPAL_THREAD_LOCK (&peruse_handle_list_lock); opal_list_append (&peruse_handle_list, (opal_list_item_t*)p); OPAL_THREAD_UNLOCK (&peruse_handle_list_lock);}static void ompi_peruse_handle_destruct (ompi_peruse_handle_t* p){ OPAL_THREAD_LOCK (&peruse_handle_list_lock); opal_list_remove_item (&peruse_handle_list, (opal_list_item_t*)p); OPAL_THREAD_UNLOCK (&peruse_handle_list_lock); OBJ_DESTRUCT (&(p->lock));}OBJ_CLASS_INSTANCE( ompi_peruse_handle_t, opal_list_item_t, ompi_peruse_handle_construct, ompi_peruse_handle_destruct);int ompi_peruse_init (void){ if (ompi_peruse_initialized) return OMPI_SUCCESS; ompi_peruse_initialized = 1; OBJ_CONSTRUCT (&peruse_handle_list, opal_list_t); OBJ_CONSTRUCT (&peruse_handle_list_lock, opal_mutex_t); return OMPI_SUCCESS;}int ompi_peruse_finalize (void){ OBJ_DESTRUCT (&peruse_handle_list); OBJ_DESTRUCT (&peruse_handle_list_lock); return OMPI_SUCCESS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -