Exemplo n.º 1
0
/* Create a word database object. */
TCWDB *tcwdbnew(void){
  TCWDB *wdb = tcmalloc(sizeof(*wdb));
  wdb->mmtx = tcmalloc(sizeof(pthread_rwlock_t));
  if(pthread_rwlock_init(wdb->mmtx, NULL) != 0) tcmyfatal("pthread_rwlock_init failed");
  wdb->idx = tcbdbnew();
  if(!tcbdbsetmutex(wdb->idx)) tcmyfatal("tcbdbsetmutex failed");
  wdb->open = false;
  wdb->cc = NULL;
  wdb->icsiz = WDBCCDEFICSIZ;
  wdb->lcnum = 0;
  wdb->dtokens = NULL;
  wdb->dids = NULL;
  wdb->etnum = WDBDEFETNUM;
  wdb->opts = 0;
  wdb->fwmmax = WDBDEFFWMMAX;
  wdb->synccb = NULL;
  wdb->syncopq = NULL;
  wdb->addcb = NULL;
  wdb->addopq = NULL;
  return wdb;
}
Exemplo n.º 2
0
Arquivo: tcutil.c Projeto: kadoma/fms
/* Re-allocate a region on memory. */
void *tcrealloc(void *ptr, size_t size){
  assert(size > 0);
  char *p = realloc(ptr, size);
  if(!p) tcmyfatal("out of memory");
  return p;
}
Exemplo n.º 3
0
Arquivo: tcutil.c Projeto: kadoma/fms
/* Allocate a region on memory. */
void *tcmalloc(size_t size){
  assert(size > 0 && size < INT_MAX);
  char *p = malloc(size);
  if(!p) tcmyfatal("out of memory");
  return p;
}