mirror of
https://github.com/reactos/reactos.git
synced 2025-07-24 17:33:49 +00:00
new event test app
svn path=/trunk/; revision=877
This commit is contained in:
parent
a09b668be6
commit
414cd229d9
2 changed files with 74 additions and 0 deletions
33
reactos/apps/tests/event/event.c
Normal file
33
reactos/apps/tests/event/event.c
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#include <windows.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
HANDLE events[2];
|
||||||
|
|
||||||
|
DWORD WINAPI thread( LPVOID crap )
|
||||||
|
{
|
||||||
|
SetEvent( events[0] );
|
||||||
|
if( crap )
|
||||||
|
SetEvent( events[1] );
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
DWORD id, Status;
|
||||||
|
printf( "Creating events\n" );
|
||||||
|
events[0] = CreateEvent( 0, TRUE, FALSE, 0 );
|
||||||
|
events[1] = CreateEvent( 0, TRUE, FALSE, 0 );
|
||||||
|
printf( "Created events\n" );
|
||||||
|
CreateThread( 0, 0, thread, 0, 0, &id );
|
||||||
|
printf( "WaitForSingleObject %s\n", ( WaitForSingleObject( events[0], INFINITE ) == WAIT_OBJECT_0 ? "worked" : "failed" ) );
|
||||||
|
ResetEvent( events[0] );
|
||||||
|
CreateThread( 0, 0, thread, 0, 0, &id );
|
||||||
|
printf( "WaitForMultipleObjects with waitall = FALSE %s\n", ( WaitForMultipleObjects( 2, events, FALSE, INFINITE ) == WAIT_OBJECT_0 ? "worked" : "failed" ) );
|
||||||
|
ResetEvent( events[0] );
|
||||||
|
CreateThread( 0, 0, thread, (void *)1, 0, &id );
|
||||||
|
Status = WaitForMultipleObjects( 2, events, TRUE, INFINITE );
|
||||||
|
printf( "WaitForMultipleObjects with waitall = TRUE %s\n", ( Status == WAIT_OBJECT_0 || Status == WAIT_OBJECT_0 + 1 ? "worked" : "failed" ) );
|
||||||
|
ResetEvent( events[0] );
|
||||||
|
printf( "WaitForSingleObject with timeout %s\n", ( WaitForSingleObject( events[0], 100 ) == WAIT_TIMEOUT ? "worked" : "failed" ) );
|
||||||
|
return 0;
|
||||||
|
}
|
41
reactos/apps/tests/event/makefile
Normal file
41
reactos/apps/tests/event/makefile
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
PROGS = event
|
||||||
|
|
||||||
|
all: $(PROGS:%=%.exe)
|
||||||
|
|
||||||
|
.phony: all
|
||||||
|
|
||||||
|
clean: $(PROGS:%=%_clean)
|
||||||
|
|
||||||
|
$(PROGS:%=%_clean): %_clean:
|
||||||
|
- $(RM) $*.o
|
||||||
|
- $(RM) $*.exe
|
||||||
|
- $(RM) $*.sym
|
||||||
|
|
||||||
|
.phony: clean
|
||||||
|
|
||||||
|
floppy: # $(PROGS:%=$(FLOPPY_DIR)/apps/%.exe)
|
||||||
|
|
||||||
|
$(PROGS:%=$(FLOPPY_DIR)/apps/%.exe): $(FLOPPY_DIR)/apps/%.exe: %.exe
|
||||||
|
ifeq ($(DOSCLI),yes)
|
||||||
|
$(CP) $*.exe $(FLOPPY_DIR)\apps\$*.exe
|
||||||
|
else
|
||||||
|
$(CP) $*.exe $(FLOPPY_DIR)/apps/$*.exe
|
||||||
|
endif
|
||||||
|
|
||||||
|
dist: $(PROGS:%=../../$(DIST_DIR)/apps/%.exe)
|
||||||
|
|
||||||
|
$(PROGS:%=../../$(DIST_DIR)/apps/%.exe): ../../$(DIST_DIR)/apps/%.exe: %.exe
|
||||||
|
ifeq ($(DOSCLI),yes)
|
||||||
|
$(CP) $*.exe ..\..\$(DIST_DIR)\apps\$*.exe
|
||||||
|
else
|
||||||
|
$(CP) $*.exe ../../$(DIST_DIR)/apps/$*.exe
|
||||||
|
endif
|
||||||
|
|
||||||
|
event.exe: event.c
|
||||||
|
$(CC) $(CFLAGS) event.c -lkernel32 -o event.exe
|
||||||
|
$(NM) --numeric-sort event.exe > event.sym
|
||||||
|
|
||||||
|
include ../../rules.mak
|
Loading…
Add table
Add a link
Reference in a new issue