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 |