From: Geoff Voelker Date: Wed, 3 Sep 1997 02:19:32 +0000 (+0000) Subject: (WinMain): Allow Emacs process to be started with X-Git-Tag: emacs-20.1~228 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=05c4be3c5a2fdc35ba4946efaaded8f0fdb68cc3;p=emacs.git (WinMain): Allow Emacs process to be started with high or low priority. --- diff --git a/nt/runemacs.c b/nt/runemacs.c index 88e14a30d81..dc8d1bfe710 100644 --- a/nt/runemacs.c +++ b/nt/runemacs.c @@ -34,6 +34,7 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow) SECURITY_DESCRIPTOR sec_desc; PROCESS_INFORMATION child; int wait_for_child = FALSE; + DWORD priority_class = NORMAL_PRIORITY_CLASS; DWORD ret_code = 0; char *new_cmdline; char *p; @@ -82,13 +83,28 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow) strcat (new_cmdline, "\\emacs.exe "); #endif - /* Append original arguments if any; first look for -wait as first - argument, and apply that ourselves. */ - if (strncmp (cmdline, "-wait", 5) == 0) + /* Append original arguments if any; first look for arguments we + recognise (-wait, -high, and -low), and apply them ourselves. */ + while (cmdline[0] == '-' || cmdline[0] == '/') { + if (strncmp (cmdline+1, "wait", 4) == 0) + { wait_for_child = TRUE; cmdline += 5; } + else if (strncmp (cmdline+1, "high", 4) == 0) + { + priority_class = HIGH_PRIORITY_CLASS; + cmdline += 5; + } + else if (strncmp (cmdline+1, "low", 3) == 0) + { + priority_class = IDLE_PRIORITY_CLASS; + cmdline += 4; + } + else + break; + } strcat (new_cmdline, cmdline); /* Set emacs_dir variable if runemacs was in "%emacs_dir%\bin". */ @@ -109,7 +125,7 @@ WinMain (HINSTANCE hSelf, HINSTANCE hPrev, LPSTR cmdline, int nShow) sec_attrs.lpSecurityDescriptor = NULL; sec_attrs.bInheritHandle = FALSE; - if (CreateProcess (NULL, new_cmdline, &sec_attrs, NULL, TRUE, 0, + if (CreateProcess (NULL, new_cmdline, &sec_attrs, NULL, TRUE, priority_class, NULL, NULL, &start, &child)) { if (wait_for_child)