Пример #1
0
void CPUStat::GetTotalUsage(const CPUStat *st_previous, double *ucpu_usage, double *scpu_usage,
double *thread_ucpu_usage, double *thread_scpu_usage) const {
	get_total_usage(process_stat, ucpu_usage, scpu_usage, thread_ucpu_usage, thread_scpu_usage);
}
Пример #2
0
void* MemoryPoolStaticMalloc::_alloc(size_t p_bytes,const char *p_description) {
 
 	ERR_FAIL_COND_V(p_bytes==0,0);
	
	MutexLock lock(mutex);
	
#ifdef DEBUG_MEMORY_ENABLED
	void *mem=malloc(p_bytes+sizeof(RingPtr)); /// add for size and ringlist

	if (!mem) {
		printf("**ERROR: out of memory while allocating %i bytes by %s?\n",(int) p_bytes, p_description);
		printf("**ERROR: memory usage is %i\n", (int)get_total_usage());
	};
	
	ERR_FAIL_COND_V(!mem,0); //out of memory, or unreasonable request
		
	/* setup the ringlist element */
	
	RingPtr *ringptr = (RingPtr*)mem;
	
	/* setup the ringlist element data (description and size ) */
	
	ringptr->size = p_bytes;
	ringptr->descr=p_description;
	
	if (ringlist) { /* existing ringlist */
		
		/* assign next */
		ringptr->next = ringlist->next;
		ringlist->next = ringptr;
		/* assign prev */
		ringptr->prev = ringlist;
		ringptr->next->prev = ringptr;
	} else { /* non existing ringlist */
		
		ringptr->next=ringptr;
		ringptr->prev=ringptr;
		ringlist=ringptr;
		
	}
	
	total_mem+=p_bytes;
	
	/* update statistics */
	if (total_mem > max_mem )
		max_mem = total_mem;
	
	total_pointers++;
	
	if (total_pointers > max_pointers)
		max_pointers=total_pointers;
	
	return ringptr + 1; /* return memory after ringptr */
		
#else		
	void *mem=malloc(p_bytes);

	ERR_FAIL_COND_V(!mem,0); //out of memory, or unreasonable request
	return mem;			
#endif	
}