Rev 8869 | Rev 9031 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8869 | Rev 8874 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License. ;; |
4 | ;; Distributed under terms of the GNU General Public License. ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 8869 $ |
8 | $Revision: 8874 $ |
Line 9... | Line 9... | ||
9 | 9 | ||
Line 491... | Line 491... | ||
491 | mov ecx, 2*32 |
491 | mov ecx, 2*32 |
Line 492... | Line 492... | ||
492 | 492 | ||
493 | .loop: |
493 | .loop: |
494 | ;ecx = offset of current process info entry |
494 | ;ecx = offset of current process info entry |
495 | ;ebx = maximum permitted offset |
- | |
496 | ; state 9 means "not used" |
495 | ;ebx = maximum permitted offset |
497 | cmp byte [TASK_TABLE+ecx+TASKDATA.state], TSTATE_FREE |
496 | cmp [TASK_TABLE+ecx+TASKDATA.state], TSTATE_FREE |
498 | jz .endloop ;skip empty slots |
497 | jz .endloop ;skip empty slots |
499 | cmp [TASK_TABLE+ecx+TASKDATA.pid], eax;check PID |
498 | cmp [TASK_TABLE+ecx+TASKDATA.pid], eax;check PID |
500 | jz .pid_found |
499 | jz .pid_found |
501 | .endloop: |
500 | .endloop: |
502 | add ecx, 32 |
501 | add ecx, sizeof.TASKDATA |
503 | cmp ecx, ebx |
502 | cmp ecx, ebx |
Line 504... | Line 503... | ||
504 | jle .loop |
503 | jle .loop |
505 | 504 | ||
Line 893... | Line 892... | ||
893 | stdcall kernel_free, ebp |
892 | stdcall kernel_free, ebp |
894 | mov ebx, [current_slot] |
893 | mov ebx, [current_slot] |
895 | cmp [ebx+APPDATA.debugger_slot], 0 |
894 | cmp [ebx+APPDATA.debugger_slot], 0 |
896 | je .exit |
895 | je .exit |
897 | mov eax, [TASK_BASE] |
896 | mov eax, [TASK_BASE] |
898 | mov [eax+TASKDATA.state], 1 |
897 | mov [eax+TASKDATA.state], TSTATE_RUN_SUSPENDED |
899 | call change_task |
898 | call change_task |
900 | .exit: |
899 | .exit: |
901 | popad |
900 | popad |
902 | iretd |
901 | iretd |
Line 985... | Line 984... | ||
985 | 984 | ||
Line 986... | Line 985... | ||
986 | mov [ebx+TASKDATA.event_mask], dword 1+2+4;set default event flags (see 40 function) |
985 | mov [ebx+TASKDATA.event_mask], dword 1+2+4;set default event flags (see 40 function) |
987 | 986 | ||
988 | inc dword [process_number] |
987 | inc dword [process_number] |
Line 989... | Line 988... | ||
989 | mov eax, [process_number] |
988 | mov eax, [process_number] |
990 | mov [ebx+4], eax ;set PID |
989 | mov [ebx+TASKDATA.pid], eax ;set PID |
991 | 990 | ||
992 | ;set draw data to full screen |
991 | ;set draw data to full screen |