Subversion Repositories Kolibri OS

Rev

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

Rev 2455 Rev 2486
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2012. 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: 2455 $
8
$Revision: 2486 $
9
 
9
 
Line 435... Line 435...
435
 
435
 
436
        test    eax, eax
436
        test    eax, eax
Line 437... Line 437...
437
        jz      .cleanup
437
        jz      .cleanup
-
 
438
 
438
 
439
        mov     [file2], eax
-
 
440
 
-
 
441
        push    eax
-
 
442
.wait_lock:
-
 
443
        cmp     [unpack_mutex], 0
-
 
444
        je      .get_lock
-
 
445
        call    change_task
-
 
446
        jmp     .wait_lock
-
 
447
 
-
 
448
.get_lock:
-
 
449
        mov     eax, 1
-
 
450
        xchg    eax, [unpack_mutex]
439
        mov     [file2], eax
451
        test    eax, eax
-
 
452
        jnz     .wait_lock
440
        pushfd
453
        pop     eax
-
 
454
 
441
        cli
455
        stdcall unpack, [file], eax
-
 
456
 
442
        stdcall unpack, [file], eax
457
        mov     [unpack_mutex], 0
443
        popfd
458
 
444
        stdcall kernel_free, [file]
459
        stdcall kernel_free, [file]
445
        mov     eax, [file2]
460
        mov     eax, [file2]
446
        mov     ebx, [file_size]
461
        mov     ebx, [file_size]
Line 468... Line 483...
468
        pop     edi
483
        pop     edi
469
        pop     esi
484
        pop     esi
470
        ret
485
        ret
471
endp
486
endp
Line -... Line 487...
-
 
487
 
-
 
488
iglobal
-
 
489
align 4
-
 
490
unpack_mutex dd 0
-
 
491
endg
472
 
492
 
473
align 4
493
align 4
Line 474... Line 494...
474
proc get_proc_ex stdcall, proc_name:dword, imports:dword
494
proc get_proc_ex stdcall, proc_name:dword, imports:dword
475
 
495