diff --git a/Modules/main.c b/Modules/main.c
index 056a6b6..50440b3 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -88,7 +88,7 @@
 ";
 
 
-static void
+static int
 usage(int exitcode, char* program)
 {
 	FILE *f = exitcode ? stderr : stdout;
@@ -105,14 +105,14 @@
 #if defined(__VMS)
 	if (exitcode == 0) {
 		/* suppress 'error' message */
-		exit(1);
+		return 1;
 	}
 	else {
 		/* STS$M_INHIB_MSG + SS$_ABORT */
-		exit(0x1000002c);
+		return 0x1000002c;
 	}
 #else
-	exit(exitcode);
+	return exitcode;
 #endif
 	/*NOTREACHED*/
 }
@@ -194,7 +194,7 @@
 			fprintf(stderr,
 				"-Q option should be `-Qold', "
 				"`-Qwarn', `-Qwarnall', or `-Qnew' only\n");
-			usage(2, argv[0]);
+			return usage(2, argv[0]);
 			/* NOTREACHED */
 
 		case 'i':
@@ -255,18 +255,18 @@
 		/* This space reserved for other options */
 
 		default:
-			usage(2, argv[0]);
+			return usage(2, argv[0]);
 			/*NOTREACHED*/
 
 		}
 	}
 
 	if (help)
-		usage(0, argv[0]);
+		return usage(0, argv[0]);
 
 	if (version) {
 		fprintf(stderr, "Python %s\n", PY_VERSION);
-		exit(0);
+		return 0;
 	}
 
 	if (!saw_inspect_flag &&
@@ -291,7 +291,7 @@
 			if ((fp = fopen(filename, "r")) == NULL) {
 				fprintf(stderr, "%s: can't open file '%s'\n",
 					argv[0], filename);
-				exit(2);
+				return 2;
 			}
 			else if (skipfirstline) {
 				int ch;
