@Override
    protected Msg xrecv (int flags_)
    {
        //  Deallocate old content of the message.

        Msg msg_ = null;
        if (pipe == null || (msg_ = pipe.read ()) == null) {
            ZError.errno(ZError.EAGAIN);
            //  Initialise the output parameter to be a 0-byte message.
            return null;
        }
        return msg_;
    }