int shm_mem_init(int force_alloc) { int ret; long sz; long* p; long* end; ret=shm_getmem(); if (ret<0) return ret; if (force_alloc){ sz=sysconf(_SC_PAGESIZE); DBG("shm_mem_init: %ld bytes/page\n", sz); if ((sz<sizeof(*p)) || (_ROUND_LONG(sz)!=sz)){ LOG(L_WARN, "shm_mem_init: invalid page size %ld, using 4096\n", sz); sz=4096; /* invalid page size, use 4096 */ } end=shm_mempool+shm_mem_size-sizeof(*p); /* touch one word in every page */ for(p=(long*)_ROUND_LONG((long)shm_mempool); p<=end; p=(long*)((char*)p+sz)) *p=0; } return shm_mem_init_mallocs(shm_mempool, shm_mem_size); }
int shm_mem_init(void) { int ret; ret=shm_getmem(); if (ret<0) return ret; return shm_mem_init_mallocs(shm_mempool, shm_mem_size); }
int shm_mem_init(void) { int ret; LM_INFO("allocating SHM block\n"); ret = shm_getmem(); if (ret < 0) return ret; return shm_mem_init_mallocs(shm_mempool, shm_mem_size); }