taglinefilesource code
sem537include/linux/sched.hextern void __down(struct semaphore * sem);
sem542include/linux/sched.hextern inline void down(struct semaphore * sem)
sem544include/linux/sched.hif (sem->count <= 0)
sem545include/linux/sched.h__down(sem);
sem546include/linux/sched.hsem->count--;
sem549include/linux/sched.hextern inline void up(struct semaphore * sem)
sem551include/linux/sched.hsem->count++;
sem552include/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];
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--;
sem323kernel/sched.cvoid __down(struct semaphore * sem)
sem326kernel/sched.cadd_wait_queue(&sem->wait, &wait);
sem328kernel/sched.cwhile (sem->count <= 0) {
sem333kernel/sched.cremove_wait_queue(&sem->wait, &wait);