lll_futex_wake(&rwlock->__data.__writer_wakeup, 1);
lll_mutex_unlock (rwlock->__data.__lock); lll_futex_wake (&rwlock->__data.__writer_wakeup, 1); return 0;
int __pthread_rwlock_unlock (pthread_rwlock_t *rwlock){  lll_mutex_lock(rwlock->__data.__lock);  if (rwlock->__data.__writer)    rwlock->__data.__writer = 0;  else    rwlock->__data.__nr_readers--;  if (!rwlock->__data.__nr_readers)    {      if (rwlock->__data.__nr_writers_queued)	{	  ++rwlock->__data.__writer_wakeup;	  lll_futex_wake(&rwlock->__data.__writer_wakeup, 1);	}      else	{	  ++rwlock->__data.__readers_wakeup;	  lll_futex_wake(&rwlock->__data.__readers_wakeup, INT_MAX);	}    }  lll_mutex_unlock(rwlock->__data.__lock);  return 0;}