inline void __free() throw() { for(size_t i=0;i<slots;++i) __free_slot( hslot[i] ); while(klist.size) { KNode *knode = klist.pop_back(); destruct(knode); kpool.store(knode); } }
static void unix_close(struct bathos_pipe *pipe) { struct bathos_dev *d = pipe->dev; struct arch_unix_pipe_data *adata; if (!d) return; adata = d->priv; if (!adata) return; (void)close(adata->fd); __free_slot(adata); free(d); }