Ejemplo n.º 1
0
Archivo: dlink.c Proyecto: rsenn/tichu
/* -------------------------------------------------------------------------- *
 * Free a dlink node                                                          *
 * -------------------------------------------------------------------------- */
void dlink_node_free(struct node *nptr)
{
  /* Free node block */           
  mem_static_free(&dlink_heap, nptr);
  mem_static_collect(&dlink_heap);
  
  /* Update dlink_node statistics */
  dlink_count--;  
}
Ejemplo n.º 2
0
/* -------------------------------------------------------------------------- *
 * Hook when a lclient is released.                                           *
 * -------------------------------------------------------------------------- */
static void lc_cookie_release(struct lclient *lcptr)
{
  struct lc_cookie *cookie;

  cookie = lcptr->plugdata[LCLIENT_PLUGDATA_COOKIE];

  if(cookie)
  {
    dlink_delete(&lc_cookie_list, &cookie->node);
    lcptr->plugdata[LCLIENT_PLUGDATA_COOKIE] = NULL;
    mem_static_free(&lc_cookie_heap, cookie);
    mem_static_collect(&lc_cookie_heap);
  }
}
Ejemplo n.º 3
0
Archivo: dlink.c Proyecto: rsenn/tichu
/* -------------------------------------------------------------------------- *
 * Garbage collect                                                            *
 * -------------------------------------------------------------------------- */
void dlink_collect(void)
{
  mem_static_collect(&dlink_heap);
}