code: func (r *rx) cleanup() {
  	a, b := r.q.Bytes()
  	syscall.Munmap(a)
  	syscall.Munmap(b)
  
  	syscall.Munmap(r.data)
  	syscall.Munmap(r.sharedData)
  	syscall.Close(r.eventFD)
  }
docs: // cleanup releases all resources allocated during init(). It must only be
  // called if init() has previously succeeded.