haiku/headers/private/kernel/posix/xsi_semaphore.h
Salvatore Benedetto 6ae7f6879f * Reworked the way sem_undo requests are processed by following
Ingo suggestions: instead of having one global sem_undo list,
  we now have two local list, one per semaphore set and one per team
  which is held in its xsi_sem_context structure, along with a mutex.
  A mutex has also been added to the semaphore set class in order to
  protect the local list, but also in order to (hopefully) improve
  concurrency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-16 18:20:54 +00:00

32 lines
696 B
C

/*
* Copyright 2008, Haiku Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef KERNEL_XSI_SEMAPHORE_H
#define KERNEL_XSI_SEMAPHORE_H
#include <sys/sem.h>
#include <sys/cdefs.h>
#include <OS.h>
#include <kernel.h>
#include <posix/xsi_semaphore_defs.h>
__BEGIN_DECLS
extern void xsi_ipc_init();
extern void xsi_sem_undo(struct team *team);
/* user calls */
int _user_xsi_semget(key_t key, int numberOfSemaphores, int flags);
int _user_xsi_semctl(int semaphoreID, int semaphoreNumber, int command,
union semun* args);
status_t _user_xsi_semop(int semaphoreID, struct sembuf *semOps,
size_t numSemOps);
__END_DECLS
#endif /* KERNEL_XSI_SEMAPHORE_H */