Rev 227 | Rev 254 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 227 | Rev 230 | ||
---|---|---|---|
Line 122... | Line 122... | ||
122 | endp |
122 | endp |
Line 123... | Line 123... | ||
123 | 123 | ||
124 | align 4 |
124 | align 4 |
Line 125... | Line -... | ||
125 | proc get_event_ex stdcall, p_ev:dword, timeout:dword |
- | |
126 | - | ||
127 | ; push eax |
- | |
128 | ; push edx |
- | |
129 | ; mov edx, 0x400 ;bocsh |
- | |
130 | ; mov al,0xff ;bocsh |
- | |
131 | ; out dx, al ;bocsh |
- | |
132 | ; pop edx |
- | |
133 | ; pop eax |
125 | proc get_event_ex stdcall, p_ev:dword, timeout:dword |
134 | 126 | ||
135 | .wait: |
127 | .wait: |
136 | mov ebx,[CURRENT_TASK] |
128 | mov ebx,[CURRENT_TASK] |
137 | shl ebx,8 |
129 | shl ebx,8 |
Line 138... | Line 130... | ||
138 | cmp [PROC_BASE+ebx+APPDATA.ev_count], 0 |
130 | cmp [PROC_BASE+ebx+APPDATA.ev_count], 0 |
139 | je .switch |
131 | je .switch |
140 | 132 | ||
141 | mov esi, [PROC_BASE+ebx+APPDATA.ev_first] |
133 | mov esi, [PROC_BASE+ebx+APPDATA.ev_first] |
- | 134 | mov edx, [esi+EVENT.next] |
|
- | 135 | mov [PROC_BASE+ebx+APPDATA.ev_first], edx |
|
- | 136 | test edx, edx |
|
142 | mov edx, [esi+EVENT.next] |
137 | jz @F |
143 | mov [PROC_BASE+ebx+APPDATA.ev_first], edx |
138 | mov [edx+EVENT.prev], 0 |
144 | test edx, edx |
139 | @@: |
145 | jnz @F |
140 | jnz @F |
146 | mov [PROC_BASE+ebx+APPDATA.ev_last], edx |
- | |
147 | and dword [PROC_BASE+ebx+APPDATA.event_mask], not EVENT_EXTENDED |
141 | mov [PROC_BASE+ebx+APPDATA.ev_last], edx |
Line 148... | Line 142... | ||
148 | @@: |
142 | and dword [PROC_BASE+ebx+APPDATA.event_mask], not EVENT_EXTENDED |
149 | mov [edx+EVENT.prev], 0 |
143 | @@: |
150 | dec [PROC_BASE+ebx+APPDATA.ev_count] |
144 | dec [PROC_BASE+ebx+APPDATA.ev_count] |