diff --git a/sys.c b/sys.c index e39aa4faa3ba817a6c569c81ce47ba63d4066d1c..363a27426b8e241263284131d4186cc6b3db92f0 100644 --- a/sys.c +++ b/sys.c @@ -337,6 +337,8 @@ void *oop_sys_run_once(oop_source_sys *sys) { tv.tv_sec = 0; tv.tv_usec = 0; } + assert(tv.tv_usec >= 0); + assert(tv.tv_usec < 1000000); } if (!sys->sig_active) sys->do_jmp = !sigsetjmp(sys->env,1); @@ -364,7 +366,13 @@ void *oop_sys_run_once(oop_source_sys *sys) { if (NULL != sys->files[i][OOP_EXCEPTION].f) FD_SET(i,&xfd); } + assert(ptv == NULL + || (ptv->tv_usec >= 0 && ptv->tv_usec < 1000000)); do + assert(ptv == NULL + || (ptv->tv_usec >= 0 + && ptv->tv_usec < 1000000)); + assert(sys->num_files >= 0); rv = select(sys->num_files,&rfd,&wfd,&xfd,ptv); while (0 > rv && EINTR == errno);