/*
 * call-seq:
 *      mq.tryshift([buffer [, timeout]])    => message or nil
 *
 * Exactly like POSIX_MQ#shift, except it returns +nil+ instead of raising
 * Errno::EAGAIN when non-blocking operation is desired.
 *
 * This does not guarantee non-blocking behavior, the message queue must
 * be made non-blocking before calling this method.
 */
static VALUE tryshift(int argc, VALUE *argv, VALUE self)
{
        return _receive(PMQ_TRY, argc, argv, self);
}