Subversion Repositories Kolibri OS

Rev

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

Rev 3598 Rev 4127
Line 1000... Line 1000...
1000
; with a new disk, those actions would be synchronous and would require
1000
; with a new disk, those actions would be synchronous and would require
1001
; waiting for results of USB requests, but we need to exit this callback
1001
; waiting for results of USB requests, but we need to exit this callback
1002
; to allow the USB thread to continue working and handling those requests.
1002
; to allow the USB thread to continue working and handling those requests.
1003
; 4. Thus, create a temporary kernel thread which would do it.
1003
; 4. Thus, create a temporary kernel thread which would do it.
1004
        mov     edx, [esp+8]
1004
        mov     edx, [esp+8]
1005
        push    ebx ecx
1005
        push    ebx ecx esi edi
1006
        movi    eax, 51
-
 
1007
        movi    ebx, 1
1006
        movi    ebx, 1
1008
        mov     ecx, new_disk_thread
1007
        mov     ecx, new_disk_thread
1009
        ; edx = parameter
1008
        ; edx = parameter
1010
        int     0x40
1009
        call    CreateThread
1011
        pop     ecx ebx
1010
        pop     edi esi ecx ebx
1012
        cmp     eax, -1
1011
        cmp     eax, -1
1013
        jnz     .nothing
1012
        jnz     .nothing
1014
; on error, reverse step 3
1013
; on error, reverse step 3
1015
        lock dec [ecx+usb_device_data.NumReferences]
1014
        lock dec [ecx+usb_device_data.NumReferences]
1016
.nothing:
1015
.nothing: