initial version

This commit is contained in:
chyyuu
2012-08-22 12:32:13 +08:00
parent e325fad98f
commit 15f7ebf37b
743 changed files with 94930 additions and 0 deletions

19
code/lab7/kern/sync/sem.h Normal file
View File

@@ -0,0 +1,19 @@
#ifndef __KERN_SYNC_SEM_H__
#define __KERN_SYNC_SEM_H__
#include <defs.h>
#include <atomic.h>
#include <wait.h>
typedef struct {
int value;
wait_queue_t wait_queue;
} semaphore_t;
void sem_init(semaphore_t *sem, int value);
void up(semaphore_t *sem);
void down(semaphore_t *sem);
bool try_down(semaphore_t *sem);
#endif /* !__KERN_SYNC_SEM_H__ */