⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 esmc_basicutil.c

📁 CCSM Research Tools: Community Atmosphere Model (CAM)
💻 C
字号:
/* $Id: ESMC_BasicUtil.c,v 1.1.6.1 2002/04/24 03:25:32 erik Exp $ */#include "conf.h"#include "ESMC_BasicUtil.h"#include "ESMC_Error.h"#ifdef ESMC_HAVE_MPI#include <mpi.h> #endif#ifdef ESMC_HAVE_PTHREADS#include <pthread.h>#endif#ifdef ESMC_HAVE_OMP_THREADS#include <omp.h> #endif#ifdef ESMC_HAVE_PTHREADSstatic pthread_mutex_t t_mutex = PTHREAD_MUTEX_INITIALIZER;#endif#ifdef ESMC_HAVE_OMP_THREADSstatic omp_lock_t lock;#endif/*--------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "ESMC_BasicUtilLockMutex"int ESMC_BasicUtilLockMutex (){#ifdef ESMC_HAVE_OMP_THREADS  omp_set_lock (&lock);#elif defined (ESMC_HAVE_PTHREADS)  if (pthread_mutex_lock (&t_mutex) != 0)    {      ESMC_ERRA(ESMC_ERR_SYS, 0, "pthread_mutex_lock failure\n");    }#endif  return ESMC_SUCCESS;}/*--------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "ESMC_BasicUtilUnlockMutex"int ESMC_BasicUtilUnlockMutex (){#ifdef ESMC_HAVE_OMP_THREADS  omp_unset_lock (&lock);#elif defined(ESMC_HAVE_PTHREADS)  if (pthread_mutex_unlock (&t_mutex) != 0)    {      ESMC_ERRA(ESMC_ERR_SYS, 0, "pthread_mutex_unlock failure\n");    }#endif  return ESMC_SUCCESS;}/*--------------------------------------------------------------------------*/#undef __FUNC__#define __FUNC__ "ESMC_BasicUtilInit"int ESMC_BasicUtilInit(){  static int initialized = 0;  if (initialized)    return ESMC_SUCCESS;  initialized = 1;#ifdef ESMC_HAVE_OMP_THREADS  omp_init_lock(&lock);#endif  return ESMC_SUCCESS;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -