Fix ghost threads in CPU

* kernel: Make sf9 return TSTATE_FREE for invalid slots: 0, >255, free.
* menu: Ignore free slots even if other fields of proc_info look valid.
        Documentation (sysfuncs.txt) clearly states all the other info
        as invalid when slot_state is TSTATE_FREE.
* taskbar: Same as menu.
* cmm/lib/*: Same as menu.
* programs/macros.inc: Add TSTATE_* macros.
This commit is contained in:
2025-02-01 02:53:14 +00:00
parent 6933ee64cd
commit d235c8914c
6 changed files with 39 additions and 28 deletions

View File

@@ -783,13 +783,14 @@ align 4
.loop:
push ecx
mcall 9,procinfo
cmp word[ebx+50], TSTATE_FREE
je @f
mov eax,[menu_mame]
cmp [ebx+10],eax
jne @f
; temporary to fit into 3 IMG sectors
;mov ax,[menu_mame+4]
;cmp [ebx+14],ax
;jne @f
mov ax,[menu_mame+4]
cmp [ebx+14],ax
jne @f
cmp ecx,[active_process]
je @f
; dph ecx