implement priorities on windows
parent
0f6a5f33ce
commit
65a12660a7
|
@ -38,6 +38,7 @@ SYMBOL: +low-priority+
|
||||||
SYMBOL: +normal-priority+
|
SYMBOL: +normal-priority+
|
||||||
SYMBOL: +high-priority+
|
SYMBOL: +high-priority+
|
||||||
SYMBOL: +highest-priority+
|
SYMBOL: +highest-priority+
|
||||||
|
SYMBOL: +realtime-priority+
|
||||||
|
|
||||||
: <process> ( -- process )
|
: <process> ( -- process )
|
||||||
process construct-empty
|
process construct-empty
|
||||||
|
|
|
@ -24,6 +24,7 @@ USE: unix
|
||||||
{ +normal-priority+ 0 }
|
{ +normal-priority+ 0 }
|
||||||
{ +high-priority+ -10 }
|
{ +high-priority+ -10 }
|
||||||
{ +highest-priority+ -20 }
|
{ +highest-priority+ -20 }
|
||||||
|
{ +realtime-priority+ -20 }
|
||||||
} at set-priority
|
} at set-priority
|
||||||
] when* ;
|
] when* ;
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,17 @@ TUPLE: CreateProcess-args
|
||||||
: join-arguments ( args -- cmd-line )
|
: join-arguments ( args -- cmd-line )
|
||||||
[ escape-argument ] map " " join ;
|
[ escape-argument ] map " " join ;
|
||||||
|
|
||||||
|
: lookup-priority ( process -- n )
|
||||||
|
priority>> {
|
||||||
|
{ +lowest-priority+ [ IDLE_PRIORITY_CLASS ] }
|
||||||
|
{ +low-priority+ [ BELOW_NORMAL_PRIORITY_CLASS ] }
|
||||||
|
{ +normal-priority+ [ NORMAL_PRIORITY_CLASS ] }
|
||||||
|
{ +high-priority+ [ ABOVE_NORMAL_PRIORITY_CLASS ] }
|
||||||
|
{ +highest-priority+ [ HIGH_PRIORITY_CLASS ] }
|
||||||
|
{ +realtime-priority+ [ REALTIME_PRIORITY_CLASS ] }
|
||||||
|
[ drop f ]
|
||||||
|
} case ;
|
||||||
|
|
||||||
: app-name/cmd-line ( process -- app-name cmd-line )
|
: app-name/cmd-line ( process -- app-name cmd-line )
|
||||||
command>> dup string? [
|
command>> dup string? [
|
||||||
" " split1
|
" " split1
|
||||||
|
@ -71,6 +82,7 @@ TUPLE: CreateProcess-args
|
||||||
0
|
0
|
||||||
pick pass-environment? [ CREATE_UNICODE_ENVIRONMENT bitor ] when
|
pick pass-environment? [ CREATE_UNICODE_ENVIRONMENT bitor ] when
|
||||||
pick detached>> winnt? and [ DETACHED_PROCESS bitor ] when
|
pick detached>> winnt? and [ DETACHED_PROCESS bitor ] when
|
||||||
|
pick lookup-priority [ bitor ] when*
|
||||||
>>dwCreateFlags ;
|
>>dwCreateFlags ;
|
||||||
|
|
||||||
: fill-lpEnvironment ( process args -- process args )
|
: fill-lpEnvironment ( process args -- process args )
|
||||||
|
|
|
@ -125,7 +125,6 @@ TYPEDEF: FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION
|
||||||
: OF_REOPEN 32768 ;
|
: OF_REOPEN 32768 ;
|
||||||
: OF_VERIFY 1024 ;
|
: OF_VERIFY 1024 ;
|
||||||
|
|
||||||
|
|
||||||
: INFINITE HEX: FFFFFFFF ; inline
|
: INFINITE HEX: FFFFFFFF ; inline
|
||||||
|
|
||||||
! From C:\cygwin\usr\include\w32api\winbase.h
|
! From C:\cygwin\usr\include\w32api\winbase.h
|
||||||
|
|
Loading…
Reference in New Issue