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:
parent
8c3875e438
commit
62da2ad490
@ -928,6 +928,20 @@ db 'Kolibri',0
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = ®¡é¨© à §¬¥à ¨¬¥î饩áï ¯ ¬ï⨠¢ ª¨«®¡ ©â å
|
||||
|
||||
======================================================================
|
||||
====================== ”ãªæ¨ï 18¡ ¯®¤äãªæ¨ï 18 =====================
|
||||
===================== ‡ ¢¥à襨¥ ¯à®æ¥áá ¯® PID'ã ===================
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 18 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = PID
|
||||
‚®§à é ¥¬®¥ § 票¥:
|
||||
* eax = 0 - ¯à®æ¥áá § ¢¥àè¥.
|
||||
* eax = -1 - ®è¨¡ª . (¯à®æ¥áá á â ª¨¬ PID ¥ áãé¥áâ¢ã¥â ¨«¨ ï¥âáï
|
||||
á¨á⥬ë¬)
|
||||
|
||||
|
||||
======================================================================
|
||||
============ ”ãªæ¨ï 19 - § ¯ãáâ¨âì ¯à®£à ¬¬ã á à ¬¤¨áª . ============
|
||||
======================================================================
|
||||
|
@ -2103,6 +2103,7 @@ sys_system_table:
|
||||
dd sysfn_centermouse ; 15 = center mouse cursor
|
||||
dd sysfn_getfreemem ; 16 = get free 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
|
||||
endg
|
||||
|
||||
@ -2151,6 +2152,33 @@ sysfn_terminate: ; 18.2 = TERMINATE
|
||||
noprocessterminate:
|
||||
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
|
||||
cmp ebx,2
|
||||
jb nowindowactivate
|
||||
|
Loading…
Reference in New Issue
Block a user