diff --git a/util/millisleep.h b/util/millisleep.h new file mode 100644 index 00000000..fb9c302f --- /dev/null +++ b/util/millisleep.h @@ -0,0 +1,23 @@ +#ifndef MILLISLEEP_H_ +#define MILLISLEEP_H_ + +#include + +#include + +/** + * millisleep(msec): + * Wait up to ${msec} milliseconds. This duration can be interrupted by + * signals. + */ +static inline void +millisleep(size_t msec) +{ + struct timespec ts; + + ts.tv_sec = msec / 1000; + ts.tv_nsec = (msec % 1000) * 1000000; + nanosleep(&ts, NULL); +} + +#endif /* !MILLISLEEP_H_ */