Mercurial > emacs
changeset 19720:8d429173786f
(WinMain): Allow Emacs process to be started with
high or low priority.
author | Geoff Voelker <voelker@cs.washington.edu> |
---|---|
date | Wed, 03 Sep 1997 02:19:32 +0000 |
parents | 9b43f48f8a10 |
children | c687ce4ca98e |
files | nt/runemacs.c |
diffstat | 1 files changed, 20 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/nt/runemacs.c Wed Sep 03 02:19:02 1997 +0000 +++ b/nt/runemacs.c Wed Sep 03 02:19:32 1997 +0000 @@ -34,6 +34,7 @@ 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 @@ 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 @@ 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)