1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
2 /*
3  *  (C) 2009 by Argonne National Laboratory.
4  *      See COPYRIGHT in top-level directory.
5  */
6 
7 #include "mpiimpl.h"
8 
9 /* Various helper functions add thread safety to the MPL_tr* functions.  These
10  * have to be functions because we cannot portably wrap the calls as macros and
11  * still use real (non-out-argument) return values. */
12 
MPIU_trinit(int rank)13 void MPIU_trinit(int rank)
14 {
15     MPL_trinit(rank);
16 }
17 
MPIU_trdump(FILE * fp,int minid)18 void MPIU_trdump(FILE *fp, int minid)
19 {
20     MPIU_THREAD_CS_ENTER(MEMALLOC,);
21     MPL_trdump(fp, minid);
22     MPIU_THREAD_CS_EXIT(MEMALLOC,);
23 }
24 
MPIU_trmalloc(unsigned int a,int lineno,const char fname[])25 void *MPIU_trmalloc(unsigned int a, int lineno, const char fname[])
26 {
27     void *retval;
28     MPIU_THREAD_CS_ENTER(MEMALLOC,);
29     retval = MPL_trmalloc(a, lineno, fname);
30     MPIU_THREAD_CS_EXIT(MEMALLOC,);
31     return retval;
32 }
33 
MPIU_trfree(void * a_ptr,int line,const char fname[])34 void MPIU_trfree(void *a_ptr, int line, const char fname[])
35 {
36     MPIU_THREAD_CS_ENTER(MEMALLOC,);
37     MPL_trfree(a_ptr, line, fname);
38     MPIU_THREAD_CS_EXIT(MEMALLOC,);
39 }
40 
MPIU_trvalid(const char str[])41 int MPIU_trvalid(const char str[])
42 {
43     int retval;
44     MPIU_THREAD_CS_ENTER(MEMALLOC,);
45     retval = MPL_trvalid(str);
46     MPIU_THREAD_CS_EXIT(MEMALLOC,);
47     return retval;
48 }
49 
MPIU_trspace(int * space,int * fr)50 void MPIU_trspace(int *space, int *fr)
51 {
52     MPIU_THREAD_CS_ENTER(MEMALLOC,);
53     MPL_trspace(space, fr);
54     MPIU_THREAD_CS_EXIT(MEMALLOC,);
55 }
56 
MPIU_trid(int id)57 void MPIU_trid(int id)
58 {
59     MPIU_THREAD_CS_ENTER(MEMALLOC,);
60     MPL_trid(id);
61     MPIU_THREAD_CS_EXIT(MEMALLOC,);
62 }
63 
MPIU_trlevel(int level)64 void MPIU_trlevel(int level)
65 {
66     MPIU_THREAD_CS_ENTER(MEMALLOC,);
67     MPL_trlevel(level);
68     MPIU_THREAD_CS_EXIT(MEMALLOC,);
69 }
70 
MPIU_trDebugLevel(int level)71 void MPIU_trDebugLevel(int level)
72 {
73     MPIU_THREAD_CS_ENTER(MEMALLOC,);
74     MPL_trDebugLevel(level);
75     MPIU_THREAD_CS_EXIT(MEMALLOC,);
76 }
77 
MPIU_trcalloc(unsigned int nelem,unsigned int elsize,int lineno,const char fname[])78 void *MPIU_trcalloc(unsigned int nelem, unsigned int elsize, int lineno, const char fname[])
79 {
80     void *retval;
81     MPIU_THREAD_CS_ENTER(MEMALLOC,);
82     retval = MPL_trcalloc(nelem, elsize, lineno, fname);
83     MPIU_THREAD_CS_EXIT(MEMALLOC,);
84     return retval;
85 }
86 
MPIU_trrealloc(void * p,int size,int lineno,const char fname[])87 void *MPIU_trrealloc(void *p, int size, int lineno, const char fname[])
88 {
89     void *retval;
90     MPIU_THREAD_CS_ENTER(MEMALLOC,);
91     retval = MPL_trrealloc(p, size, lineno, fname);
92     MPIU_THREAD_CS_EXIT(MEMALLOC,);
93     return retval;
94 }
95 
MPIU_trstrdup(const char * str,int lineno,const char fname[])96 void *MPIU_trstrdup(const char *str, int lineno, const char fname[])
97 {
98     void *retval;
99     MPIU_THREAD_CS_ENTER(MEMALLOC,);
100     retval = MPL_trstrdup(str, lineno, fname);
101     MPIU_THREAD_CS_EXIT(MEMALLOC,);
102     return retval;
103 }
104 
MPIU_TrSetMaxMem(int size)105 void MPIU_TrSetMaxMem(int size)
106 {
107     MPIU_THREAD_CS_ENTER(MEMALLOC,);
108     MPL_TrSetMaxMem(size);
109     MPIU_THREAD_CS_EXIT(MEMALLOC,);
110 }
111 
112