Subversion Repositories Kolibri OS

Rev

Rev 9932 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9932 Rev 10002
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2023. All rights reserved. ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
5
;; Distributed under terms of the GNU General Public License    ;;
5
;; Distributed under terms of the GNU General Public License    ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 9932 $
8
$Revision: 10002 $
9
 
9
 
10
 
10
 
Line 305... Line 305...
305
        xor     eax, eax
305
        xor     eax, eax
306
@@:
306
@@:
307
        mov     [ebx + APPDATA.wait_param], eax  ; retval for wait
307
        mov     [ebx + APPDATA.wait_param], eax  ; retval for wait
308
        mov     [ebx + APPDATA.state], TSTATE_RUNNING
308
        mov     [ebx + APPDATA.state], TSTATE_RUNNING
309
.task_found:
309
.task_found:
-
 
310
        mov     dl, [ebx + APPDATA.def_priority]
-
 
311
        test    dl, dl
-
 
312
        jz      .no_local_priority
-
 
313
        dec     [ebx + APPDATA.cur_priority]
-
 
314
        jnz     .task_next
-
 
315
        xchg    [ebx + APPDATA.cur_priority], dl
-
 
316
.no_local_priority:
310
        mov     [scheduler_current+ecx*4], ebx
317
        mov     [scheduler_current+ecx*4], ebx
311
; If we have selected a thread with higher priority
318
; If we have selected a thread with higher priority
312
; AND rescheduling is due to IRQ,
319
; AND rescheduling is due to IRQ,
313
; turn the current scheduler list one entry back,
320
; turn the current scheduler list one entry back,
314
; so the current thread will be next after high-priority thread is done.
321
; so the current thread will be next after high-priority thread is done.