Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 500 → Rev 501

/shark/trunk/tracer/newtrace/FTrace.c
23,10 → 23,10
c->number = number; /* Chunk number */
c->flags = flags; /* Chunk flags */
c->size = size; /* Chunk size */
c->emergency_size = emergency_size; /* Chunk size */
c->emergency_size = emergency_size; /* Chunk emergency size */
c->osd = (DWORD)((DWORD)(c) + sizeof(struct FTrace_Chunk));
return FTrace_OSD_chunk_init(c, size, flags);
return FTrace_OSD_chunk_init(c, size, emergency_size, flags);
 
}
 
114,12 → 114,11
}
 
/* Create n chunks of specified size, where size = 2^bits */
int FTrace_chunk_create(int n, int bits, FTrace_flags flags)
int FTrace_chunk_create(int n, int size, int emergency_size, FTrace_flags flags)
{
 
FTrace_Chunk_Ptr FT_temp;
int i, number, err, size;
int i, number, err;
 
FTrace_lock();
 
134,9 → 133,6
}
}
 
/* Get size */
size = 1 << bits;
 
for (i = 0;i < n;i++) {
 
number = FTrace_find_free_slot();
148,7 → 144,7
return -1;
}
 
FT_temp = (FTrace_Chunk_Ptr)FTrace_malloc(sizeof(struct FTrace_Chunk) + FTRACE_OSD_CHUNK_HEAD + size);
FT_temp = (FTrace_Chunk_Ptr)FTrace_malloc(sizeof(struct FTrace_Chunk) + FTRACE_OSD_CHUNK_HEAD + size + emergency_size);
if (FT_temp == NULL) {
#ifdef FTRACE_DEBUG
FTrace_printf("FTrace Error: cannot allocate memory for chunk\n");
157,7 → 153,7
return -1;
}
 
err = FTrace_chunk_init(FT_temp, number, size, flags);
err = FTrace_chunk_init(FT_temp, number, size, emergency_size, flags);
if (err != 0) {
#ifdef FTRACE_DEBUG
FTrace_printf("FTrace Error: cannot initialized the new chunk\n");
464,7 → 460,7
FTrace_unlock();
 
/* Alloc temp memory for */
temp_data = (void *)FTrace_malloc(FT_temp->sizemask+1);
temp_data = (void *)FTrace_malloc(FT_temp->size+FT_temp->emergency_size);
if (temp_data == NULL) {
#ifdef FTRACE_DEBUG
FTrace_printf("FTrace Error: Cannot allocate memory\n");