updated for version 7.3.791
Problem:    MzScheme interface doesn't work propely.
Solution:   Make it work better. (Sergey Khorev)
diff --git a/src/os_unix.c b/src/os_unix.c
index ae41579..c82e593 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -278,7 +278,8 @@
 #ifdef SIGBUS
     {SIGBUS,	    "BUS",	TRUE},
 #endif
-#ifdef SIGSEGV
+#if defined(SIGSEGV) && !defined(FEAT_MZSCHEME)
+    /* MzScheme uses SEGV in its garbage collector */
     {SIGSEGV,	    "SEGV",	TRUE},
 #endif
 #ifdef SIGSYS
@@ -3778,7 +3779,7 @@
 # endif
 	if (wait_pid == 0)
 	{
-	    /* Wait for 1/100 sec before trying again. */
+	    /* Wait for 10 msec before trying again. */
 	    mch_delay(10L, TRUE);
 	    continue;
 	}
@@ -4797,7 +4798,7 @@
 	    {
 		/* LINTED avoid "bitwise operation on signed value" */
 		retval = WEXITSTATUS(status);
-		if (retval && !emsg_silent)
+		if (retval != 0 && !emsg_silent)
 		{
 		    if (retval == EXEC_FAILED)
 		    {