Exemplo n.º 1
0
static void ufd_cleanup(pse51_assoc_t *assoc)
{
	pse51_ufd_t *ufd = assoc2ufd(assoc);
#if XENO_DEBUG(POSIX)
	xnprintf("Posix: closing shared memory descriptor %lu.\n",
		 pse51_assoc_key(assoc));
#endif /* XENO_DEBUG(POSIX) */
	pse51_shm_close(ufd->kfd);
	xnfree(ufd);
}
Exemplo n.º 2
0
static void umap_cleanup(pse51_assoc_t *assoc)
{
	pse51_umap_t *umap = assoc2umap(assoc);
#if XENO_DEBUG(POSIX)
	xnprintf("Posix: unmapping shared memory 0x%08lx.\n",
		 pse51_assoc_key(assoc));
#endif /* XENO_DEBUG(POSIX) */
	munmap(umap->kaddr, umap->len);
	xnfree(umap);
}
Exemplo n.º 3
0
static void usem_cleanup(pse51_assoc_t *assoc)
{
	struct pse51_sem *sem = (struct pse51_sem *) pse51_assoc_key(assoc);
	pse51_usem_t *usem = assoc2usem(assoc);
	nsem_t *nsem = sem2named_sem(sem);

#if XENO_DEBUG(POSIX)
	xnprintf("Posix: closing semaphore \"%s\".\n", nsem->nodebase.name);
#endif /* XENO_DEBUG(POSIX) */
	sem_close(&nsem->descriptor.native_sem);
	xnfree(usem);
}