MPI fixes

This commit is contained in:
Vítor Santos Costa
2015-02-11 01:50:59 +00:00
parent 9743c81f05
commit 2d919a4a09
7 changed files with 188 additions and 124 deletions

View File

@@ -68,16 +68,17 @@ void write_msg(const char *fun,const char *file, int line,const char *format, ..
* Macros to manipulate the buffer
*********************************************************************************************/
extern int BLOCK_SIZE;
extern size_t BLOCK_SIZE;
#define buffer (buffers[YAP_ThreadSelf()])
// deletes the buffer (all fields) but does not release the memory of the buffer.ptr
#define DEL_BUFFER {buffer.ptr=NULL;buffer.size=0;buffer.len=0;buffer.pos=0;}
#define DEL_BUFFER() {buffer.ptr=NULL;buffer.size=0;buffer.len=0;buffer.pos=0;}
// informs the prologterm2c module that the buffer is now used and should not be messed
#define USED_BUFFER() DEL_BUFFER
#define USED_BUFFER() DEL_BUFFER()
// initialize buffer
#define RESET_BUFFER {buffer.len=0;change_buffer_size(BLOCK_SIZE);buffer.pos=0;}
#define RESET_BUFFER() \
{buffer.len=0;change_buffer_size(BLOCK_SIZE);buffer.pos=0;}
#define BUFFER_PTR buffer.ptr
#define BUFFER_SIZE buffer.size
#define BUFFER_LEN buffer.len