forked from KolibriOS/kolibrios
Function 18/18 added. It terminate process by PID (instead of slot as in function 18/2).
git-svn-id: svn://kolibrios.org@85 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -928,6 +928,20 @@ db 'Kolibri',0
|
|||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||||
* eax = <20><>騩 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD>饩<EFBFBD><E9A5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
* eax = <20><>騩 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD>饩<EFBFBD><E9A5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
======================================================================
|
||||||
|
====================== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 18<31> <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 18 =====================
|
||||||
|
===================== <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD><E8A5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> PID'<27> ===================
|
||||||
|
======================================================================
|
||||||
|
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||||
|
* eax = 18 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||||
|
* ebx = 18 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||||
|
* ecx = PID
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||||
|
* eax = 0 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>襭.
|
||||||
|
* eax = -1 - <20>訡<EFBFBD><E8A8A1>. (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ⠪<><E2A0AA> PID <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <><EFA2AB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
<20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD>)
|
||||||
|
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
============ <20>㭪<EFBFBD><E3ADAA><EFBFBD> 19 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20> ࠬ<><E0A0AC>᪠. ============
|
============ <20>㭪<EFBFBD><E3ADAA><EFBFBD> 19 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC> <20> ࠬ<><E0A0AC>᪠. ============
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@@ -2103,6 +2103,7 @@ sys_system_table:
|
|||||||
dd sysfn_centermouse ; 15 = center mouse cursor
|
dd sysfn_centermouse ; 15 = center mouse cursor
|
||||||
dd sysfn_getfreemem ; 16 = get free memory size
|
dd sysfn_getfreemem ; 16 = get free memory size
|
||||||
dd sysfn_getallmem ; 17 = get total memory size
|
dd sysfn_getallmem ; 17 = get total memory size
|
||||||
|
dd sysfn_terminate2 ; 18 = terminate thread using PID instead of slot
|
||||||
sysfn_num = ($ - sys_system_table)/4
|
sysfn_num = ($ - sys_system_table)/4
|
||||||
endg
|
endg
|
||||||
|
|
||||||
@@ -2151,6 +2152,33 @@ sysfn_terminate: ; 18.2 = TERMINATE
|
|||||||
noprocessterminate:
|
noprocessterminate:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
sysfn_terminate2:
|
||||||
|
;lock application_table_status mutex
|
||||||
|
.table_status:
|
||||||
|
cli
|
||||||
|
cmp [application_table_status],0
|
||||||
|
je .stf
|
||||||
|
sti
|
||||||
|
call change_task
|
||||||
|
jmp .table_status
|
||||||
|
.stf:
|
||||||
|
call set_application_table_status
|
||||||
|
mov eax,ebx
|
||||||
|
call pid_to_slot
|
||||||
|
test eax,eax
|
||||||
|
jz .not_found
|
||||||
|
mov ebx,eax
|
||||||
|
cli
|
||||||
|
call sysfn_terminate
|
||||||
|
mov [application_table_status],0
|
||||||
|
sti
|
||||||
|
and dword [esp+36],0
|
||||||
|
ret
|
||||||
|
.not_found:
|
||||||
|
mov [application_table_status],0
|
||||||
|
or dword [esp+36],-1
|
||||||
|
ret
|
||||||
|
|
||||||
sysfn_activate: ; 18.3 = ACTIVATE WINDOW
|
sysfn_activate: ; 18.3 = ACTIVATE WINDOW
|
||||||
cmp ebx,2
|
cmp ebx,2
|
||||||
jb nowindowactivate
|
jb nowindowactivate
|
||||||
|
Reference in New Issue
Block a user