taglinefilesource code
sem484include/linux/sched.hextern void __down(struct semaphore * sem);
sem486include/linux/sched.hextern inline void down(struct semaphore * sem)
sem488include/linux/sched.hif (sem->count <= 0)
sem489include/linux/sched.h__down(sem);
sem490include/linux/sched.hsem->count--;
sem493include/linux/sched.hextern inline void up(struct semaphore * sem)
sem495include/linux/sched.hsem->count++;
sem496include/linux/sched.hwake_up(&sem->wait);
sem22include/linux/sem.hstruct sem      *sem_base;      /* ptr to first semaphore in array */
sem72ipc/sem.csize = sizeof (*sma) + nsems * sizeof (struct sem);
sem83ipc/sem.csma->sem_base = (struct sem *) &sma[1];
sem147ipc/sem.ckfree_s (sma, sizeof (*sma) + sma->sem_nsems * sizeof (struct sem));
sem156ipc/sem.cstruct sem *curr;
sem346ipc/sem.cstruct sem *curr = NULL;
sem467ipc/sem.cstruct sem *sem = NULL;
sem488ipc/sem.csem = &sma->sem_base[un->sem_num];
sem489ipc/sem.cif (sem->semval + un->semadj >= 0) {
sem490ipc/sem.csem->semval += un->semadj;
sem491ipc/sem.csem->sempid = current->pid;
sem495ipc/sem.cif (!sem->semval && sma->eventz)
sem501ipc/sem.csem->semncnt++;
sem503ipc/sem.csem->semncnt--;
sem364kernel/sched.cvoid __down(struct semaphore * sem)
sem367kernel/sched.cadd_wait_queue(&sem->wait, &wait);
sem369kernel/sched.cwhile (sem->count <= 0) {
sem374kernel/sched.cremove_wait_queue(&sem->wait, &wait);