'udevadm settle --timeout=XY' will return 1 in case the timeout was reached and the event queue was not empty. The manpage should mention it.