/*
* Cancel a monitor request.
*
* Raises a Fam::Error exception if the monitor request could not be
* cancelled.
*
* Note: this method invalidates the specified monitor request.
*
* Aliases:
* Fam::Connection#cancel
*
* Examples:
* fam.cancel_monitor req
* fam.cancel req
*
*/
static VALUE fam_conn_cancel(VALUE self, VALUE request)
{
FAMConnection *conn;
FAMRequest *req;
int err;
Data_Get_Struct(self, FAMConnection, conn);
Data_Get_Struct(request, FAMRequest, req);
err = FAMCancelMonitor(conn, req);
if (err == -1) {
rb_raise(eError, "Couldn't cancel monitor request %d: %s",
FAMREQUEST_GETREQNUM(req), fam_error());
}
return self;
}