mdptr = (struct mdesc *) newmd.base;
mdptr->fd = fd;
if(!mdptr->refcount){
- sem_init(&mdptr->sem, 0, 1);
+ pthread_mutex_init(&mdptr->mutex, NULL);
mdptr->refcount++;
}
}
if (mdp->fd < 0){
mdp->flags |= MMALLOC_ANONYMOUS;
}
- sem_init(&mdp->sem, 0, 1);
-
+ pthread_mutex_init(&mdp->mutex, NULL);
/* If we have not been passed a valid open file descriptor for the file
to map to, then open /dev/zero and use that to map to. */
struct mdesc *mdp = md;
if(--mdp->refcount == 0){
- LOCK(mdp) ;
- sem_destroy(&mdp->sem);
+ pthread_mutex_destroy(&mdp->mutex);
}
}