ScaLAPACK 2.1  2.1
ScaLAPACK: Scalable Linear Algebra PACKage
blacs_free_.c
Go to the documentation of this file.
1 #include "Bdef.h"
2 
3 #if (INTFACE == C_CALL)
4 void Cblacs_freebuff(int ConTxt, int Wait)
5 #else
6 F_VOID_FUNC blacs_freebuff_(int *ConTxt, int *Wait)
7 #endif
8 {
9  void BI_UpdateBuffs(BLACBUFF *);
10  int BI_BuffIsFree(BLACBUFF *, int);
11  extern BLACBUFF *BI_ReadyB, *BI_ActiveQ;
12 
13  if (Mpval(Wait)) /* wait for all buffers to be done */
14  {
15  while (BI_ActiveQ != NULL) BI_UpdateBuffs(NULL);
16  }
17  else BI_UpdateBuffs(NULL);
18 
19  if (BI_ReadyB)
20  {
21  free(BI_ReadyB);
22  BI_ReadyB = NULL;
23  }
24 }
Cblacs_freebuff
void Cblacs_freebuff()
bLaCbUfF
Definition: Bdef.h:54
BI_ActiveQ
BLACBUFF * BI_ActiveQ
Definition: BI_GlobalVars.c:9
BI_ReadyB
BLACBUFF * BI_ReadyB
Definition: BI_GlobalVars.c:8
Mpval
#define Mpval(para)
Definition: Bdef.h:261
blacs_freebuff_
F_VOID_FUNC blacs_freebuff_(int *ConTxt, int *Wait)
Definition: blacs_free_.c:6
F_VOID_FUNC
#define F_VOID_FUNC
Definition: Bdef.h:232
Bdef.h
BI_UpdateBuffs
void BI_UpdateBuffs(BLACBUFF *Newbp)
Definition: BI_UpdateBuffs.c:3
BI_BuffIsFree
int BI_BuffIsFree(BLACBUFF *bp, int Wait)
Definition: BI_BuffIsFree.c:3