Changeset 3051 for trunk/src/kmk
- Timestamp:
- Jul 24, 2017, 12:59:59 PM (8 years ago)
- Location:
- trunk/src/kmk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/kmkbuiltin/kSubmit.c
r3039 r3051 383 383 { 384 384 char szHandleArg[32]; 385 const char *apszArgs[6] = 385 extern int process_priority; /* main.c */ 386 char szPriorityArg[32]; 387 const char *apszArgs[10]; 388 int cArgs = 0; 389 apszArgs[cArgs++] = szExecutable; 390 apszArgs[cArgs++] = "--pipe"; 391 _snprintf(szHandleArg, sizeof(szHandleArg), "%p", hWorkerPipe); 392 apszArgs[cArgs++] = szHandleArg; 393 if (pVarVolatile) 386 394 { 387 szExecutable, "--pipe", szHandleArg, 388 pVarVolatile ? "--volatile" : NULL, pVarVolatile ? pVarVolatile->value : NULL, 389 NULL 390 }; 391 _snprintf(szHandleArg, sizeof(szHandleArg), "%p", hWorkerPipe); 395 apszArgs[cArgs++] = "--volatile"; 396 apszArgs[cArgs++] = pVarVolatile->value; 397 } 398 if (process_priority != 0) 399 { 400 apszArgs[cArgs++] = "--priority"; 401 _snprintf(szPriorityArg, sizeof(szPriorityArg), "%u", process_priority); 402 apszArgs[cArgs++] = szPriorityArg; 403 } 404 apszArgs[cArgs] = NULL; 392 405 393 406 /* -
trunk/src/kmk/main.c
r3041 r3051 863 863 { 864 864 # ifdef WINDOWS32 865 DWORD dwPriority; 865 DWORD dwClass, dwPriority; 866 866 867 if (process_affinity) 867 868 if (!SetProcessAffinityMask (GetCurrentProcess (), process_affinity)) 868 fprintf (stderr, "warning: SetPr iorityClass(,%#x) failed with last error %d\n",869 fprintf (stderr, "warning: SetProcessAffinityMask (,%#x) failed with last error %d\n", 869 870 process_affinity, GetLastError ()); 870 871 … … 872 873 { 873 874 case 0: return; 874 case 1: dw Priority = IDLE_PRIORITY_CLASS; break;875 case 2: dw Priority = BELOW_NORMAL_PRIORITY_CLASS; break;876 case 3: dw Priority = NORMAL_PRIORITY_CLASS; break;877 case 4: dw Priority = HIGH_PRIORITY_CLASS; break;878 case 5: dw Priority = REALTIME_PRIORITY_CLASS; break;875 case 1: dwClass = IDLE_PRIORITY_CLASS; dwPriority = THREAD_PRIORITY_IDLE; break; 876 case 2: dwClass = BELOW_NORMAL_PRIORITY_CLASS; dwPriority = THREAD_PRIORITY_BELOW_NORMAL; break; 877 case 3: dwClass = NORMAL_PRIORITY_CLASS; dwPriority = THREAD_PRIORITY_NORMAL; break; 878 case 4: dwClass = HIGH_PRIORITY_CLASS; dwPriority = 0xffffffff; break; 879 case 5: dwClass = REALTIME_PRIORITY_CLASS; dwPriority = 0xffffffff; break; 879 880 default: fatal (NILF, _("invalid priority %d\n"), process_priority); 880 881 } 881 if (!SetPriorityClass (GetCurrentProcess (), dw Priority))882 if (!SetPriorityClass (GetCurrentProcess (), dwClass)) 882 883 fprintf (stderr, "warning: SetPriorityClass (,%#x) failed with last error %d\n", 884 dwClass, GetLastError ()); 885 if (dwPriority != 0xffffffff 886 && !SetThreadPriority (GetCurrentThread (), dwPriority)) 887 fprintf (stderr, "warning: SetThreadPriority (,%#x) failed with last error %d\n", 883 888 dwPriority, GetLastError ()); 884 889 -
trunk/src/kmk/w32/subproc/sub_proc.c
r2912 r3051 548 548 #ifdef KMK 549 549 size_t exec_path_len; 550 extern int process_priority; 550 551 551 552 assert (pproc->enmType == kRegular); … … 716 717 else if (argv[0]) 717 718 kmk_cache_exec_image(argv[0]); 719 720 switch (process_priority) { 721 case 1: flags |= CREATE_SUSPENDED | IDLE_PRIORITY_CLASS; break; 722 case 2: flags |= CREATE_SUSPENDED | BELOW_NORMAL_PRIORITY_CLASS; break; 723 case 3: flags |= CREATE_SUSPENDED | NORMAL_PRIORITY_CLASS; break; 724 case 4: flags |= CREATE_SUSPENDED | HIGH_PRIORITY_CLASS; break; 725 case 5: flags |= CREATE_SUSPENDED | REALTIME_PRIORITY_CLASS; break; 726 } 718 727 #endif 719 728 if (CreateProcess( … … 741 750 return(-1); 742 751 } 752 #ifdef KMK 753 switch (process_priority) { 754 case 1: SetThreadPriority(procInfo.hThread, THREAD_PRIORITY_IDLE); break; 755 case 2: SetThreadPriority(procInfo.hThread, THREAD_PRIORITY_BELOW_NORMAL); break; 756 case 3: SetThreadPriority(procInfo.hThread, THREAD_PRIORITY_NORMAL); break; 757 case 4: SetThreadPriority(procInfo.hThread, THREAD_PRIORITY_HIGHEST); break; 758 case 5: SetThreadPriority(procInfo.hThread, THREAD_PRIORITY_TIME_CRITICAL); break; 759 } 760 ResumeThread(procInfo.hThread); 761 #endif 743 762 } 744 763
Note:
See TracChangeset
for help on using the changeset viewer.