kernel: wait_event_timeout

git-svn-id: svn://kolibrios.org@3390 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge) 2013-03-19 03:38:52 +00:00
parent 3717c3370d
commit 6e80a53e5e
2 changed files with 17 additions and 1 deletions

View File

@ -288,6 +288,7 @@ __exports:
destroy_event, 'DestroyEvent', \ ; destroy_event, 'DestroyEvent', \ ;
raise_event, 'RaiseEvent', \ ; eax, ebx, edx, esi raise_event, 'RaiseEvent', \ ; eax, ebx, edx, esi
wait_event, 'WaitEvent', \ ; eax, ebx wait_event, 'WaitEvent', \ ; eax, ebx
wait_event_timeout, 'WaitEventTimeout', \ ; eax, ebx, ecx
get_event_ex, 'GetEvent', \ ; edi get_event_ex, 'GetEvent', \ ; edi
\ \
create_kernel_object, 'CreateObject', \ create_kernel_object, 'CreateObject', \

View File

@ -307,6 +307,21 @@ wait_event: ;; EXPORT use
jmp wait_finish jmp wait_finish
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
align 4 align 4
wait_event_timeout:
;param:
; eax - event
; ebx - uid (for Dummy testing)
; ecx - timeout in timer ticks
;retval:
; eax - EVENT handle or 0 if timeout
call DummyTest
mov ebx, ecx
mov ecx, eax ; wait_param
mov edx, get_event_alone ; wait_test
call Wait_events_ex
jmp wait_finish
;-----------------------------------------------------------------------------
align 4
get_event_ex: ;; f68:14 get_event_ex: ;; f68:14
;info: ;info:
; Ожидание любого события в очереди EventList текущего слота ; Ожидание любого события в очереди EventList текущего слота
@ -595,4 +610,4 @@ align 4
jb @b jb @b
jmp .loop jmp .loop
;end. ;end.
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------