code: func (q *Queue) EventRegister(e *Entry, mask EventMask) {
  	q.mu.Lock()
  	e.mask = mask
  	q.list.PushBack(e)
  	q.mu.Unlock()
  }
docs: // EventRegister adds a waiter to the wait queue; the waiter will be notified
  // when at least one of the events specified in mask happens.