kernels/linux-2.4.0/include/asm-s390/semaphore.h
/* When a reader does a release, the only significant
 * case is when there was a writer waiting, and we've
 * bumped the count to 0: we must wake the writer up.
 */
When a reader does a release, the only significant
case is when there was a writer waiting, and we've
bumped the count to 0: we must wake the writer up.
When a reader does a release the only significant case is when there was a writer waiting and we ' ve bumped the count to 0 : we must wake the writer up .
extern inline void up_read(struct rw_semaphore *sem)
{
	int count;
	count = atomic_inc_return(&sem->count);
	if (count == 0)
		__rwsem_wake(count, sem);
}
extern inline void up_read ( struct rw_semaphore * sem ) { int count ; count = atomic_inc_return ( & sem -> count ) ; if ( count == 0 ) __rwsem_wake ( count , sem ) ; }
When a reader does a release, the only significant
 case is when there was a writer waiting, and we've
 bumped the count to 0: we must wake the writer up.
When a reader does a release the only significant case is when there was a writer waiting and we ' ve bumped the count to 0 : we must wake the writer up .