Made DOSVM_GetTimer survive EAGAIN errors...

This commit is contained in:
Ove Kaaven 1999-04-01 11:53:52 +00:00 committed by Alexandre Julliard
parent a4dd1bee31
commit 240bdacb8d

View file

@ -523,9 +523,11 @@ unsigned DOSVM_GetTimer( void )
return 0;
}
/* read response */
if (read(pModule->lpDosTask->read_pipe,&tim,sizeof(tim))!=sizeof(tim)) {
ERR(module,"dosmod sync lost, errno=%d\n",errno);
return 0;
while (1) {
if (read(pModule->lpDosTask->read_pipe,&tim,sizeof(tim))==sizeof(tim)) break;
if ((errno==EINTR)||(errno==EAGAIN)) continue;
ERR(module,"dosmod sync lost, errno=%d\n",errno);
return 0;
}
return ((unsigned long long)tim.tv_usec*1193180)/1000000;
}