#include <sys/select.h>
#include <stdio.h>
#include <time.h>
int
main(void)
{
	struct timespec dts, ets, sts, ts;
	for (;;) {
		clock_gettime(CLOCK_MONOTONIC, &sts);	
#ifdef PSELECT
		ts.tv_sec = 0;
		ts.tv_nsec = 250000000;
		pselect(0, NULL, NULL, NULL, &ts, NULL);
#else
		struct timeval tv;
		tv.tv_sec = 0;
		tv.tv_usec = 250000;
		select(0, NULL, NULL, NULL, &tv);
		ts.tv_nsec = tv.tv_usec * 1000;
#endif
		clock_gettime(CLOCK_MONOTONIC, &ets);	
		timespecsub(&ets, &sts, &dts);
		if (dts.tv_nsec < 200000000) {
			fprintf(stderr, "too little sleep r=%d s=%d\n",
				dts.tv_nsec, ts.tv_nsec);
		}
	}
	return 0;
}