Subversion Repositories Kolibri OS

Rev

Rev 4457 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4457 Rev 4459
Line 416... Line 416...
416
destroy_thread:
416
destroy_thread:
Line 417... Line 417...
417
 
417
 
418
        .slot     equ esp+4             ;locals
418
        .slot     equ esp+4             ;locals
Line -... Line 419...
-
 
419
        .process  equ esp               ;ptr to parent process
-
 
420
 
419
        .process  equ esp               ;ptr to parent process
421
        xchg bx, bx
Line 420... Line 422...
420
 
422
 
421
        push    esi                     ;save .slot
423
        push    esi                     ;save .slot
422
 
424
 
Line 749... Line 751...
749
 
751
 
Line 750... Line 752...
750
        xchg bx, bx
752
        xchg bx, bx
Line 751... Line 753...
751
 
753
 
752
        bts     [thr_slot_map], esi
754
        bts     [thr_slot_map], esi
753
 
755
 
754
        mov     ebx, [.process]
756
        mov     ecx, [.process]
Line 755... Line 757...
755
        add     ebx, PROC.thr_list
757
        lea     eax, [ecx+PROC.thr_list]
756
        cmp     ebx, [ebx+LHEAD.next]
-
 
757
        jne     @F
758
        cmp     eax, [eax+LHEAD.next]
758
 
759
        jne     @F
Line 759... Line 760...
759
        DEBUGF 1,"%s",msg_process_destroy
760
 
760
 
761
        call    destroy_process.internal
Line 776... Line 777...
776
        add     esp, 8
777
        add     esp, 8
777
        ret
778
        ret
778
restore .slot
779
restore .slot
779
restore .process
780
restore .process
Line 780... Line -...
780
 
-
 
781
msg_process_destroy: db 'K: destroy process', 0x0d, 0x0a,0
-
 
782
 
-
 
783
 
781
 
784
; Three following procedures are used to guarantee that
782
; Three following procedures are used to guarantee that
785
; some part of kernel code will not be terminated from outside
783
; some part of kernel code will not be terminated from outside
786
; while it is running.
784
; while it is running.
787
; Note: they do not protect a thread from terminating due to errors inside
785
; Note: they do not protect a thread from terminating due to errors inside