Read and process pending drm events
#include <xf86drm.h>
int drmHandleEvent(int fd, drmEventContextPtr evctx);
drmHandleEvent processes outstanding DRM events on the DRM file-descriptor passed as fd. This function should be called after the DRM file-descriptor has polled readable; it will read the events and use the passed-in evctx structure to call function pointers with the parameters noted below:
typedef struct _drmEventContext { int version; void (*vblank_handler) (int fd, unsigned int sequence, unsigned int tv_sec, unsigned int tv_usec, void *user_data) void (*page_flip_handler) (int fd, unsigned int sequence, unsigned int tv_sec, unsigned int tv_usec, void *user_data) } drmEventContext, *drmEventContextPtr;
drmHandleEvent returns 0 on success, or if there is no data to read from the file-descriptor. Returns -1 if the read on the file-descriptor fails or returns less than a full event record.
Bugs in this function should be reported to http://bugs.freedesktop.org under the "Mesa" product, with "Other" or "libdrm" as the component.
drm(7), drm-kms(7), drmModePageFlip(3), drmWaitVBlank(3)