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