Fixed silly EINTR bug with starting dosmod.
diff --git a/loader/dos/module.c b/loader/dos/module.c
index 404b3aa..b67da36 100644
--- a/loader/dos/module.c
+++ b/loader/dos/module.c
@@ -400,15 +400,14 @@
close(x_fd);
lpDosTask->task=child;
/* wait for child process to signal readiness */
- do {
- if (read(lpDosTask->read_pipe,&ret,sizeof(ret))!=sizeof(ret)) {
+ while (1) {
+ if (read(lpDosTask->read_pipe,&ret,sizeof(ret))==sizeof(ret)) break;
if ((errno==EINTR)||(errno==EAGAIN)) continue;
/* failure */
ERR(module,"dosmod has failed to initialize\n");
if (lpDosTask->mm_name[0]!=0) unlink(lpDosTask->mm_name);
return FALSE;
- }
- } while (0);
+ }
/* the child has now mmaped the temp file, it's now safe to unlink.
* do it here to avoid leaving a mess in /tmp if/when Wine crashes... */
if (lpDosTask->mm_name[0]!=0) unlink(lpDosTask->mm_name);