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); }
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); }
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); }