| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Compile with: | |
| 3 * cc -I/usr/local/include -o time-test time-test.c -L/usr/local/lib -levent | |
| 4 */ | |
| 5 #ifdef HAVE_CONFIG_H | |
| 6 #include "config.h" | |
| 7 #endif | |
| 8 | |
| 9 #ifdef WIN32 | |
| 10 #include <winsock2.h> | |
| 11 #endif | |
| 12 | |
| 13 #include <sys/types.h> | |
| 14 #include <sys/stat.h> | |
| 15 #ifdef HAVE_SYS_TIME_H | |
| 16 #include <sys/time.h> | |
| 17 #endif | |
| 18 #include <fcntl.h> | |
| 19 #include <stdlib.h> | |
| 20 #include <stdio.h> | |
| 21 #include <string.h> | |
| 22 #ifdef HAVE_UNISTD_H | |
| 23 #include <unistd.h> | |
| 24 #endif | |
| 25 #include <errno.h> | |
| 26 | |
| 27 #include <event.h> | |
| 28 | |
| 29 int called = 0; | |
| 30 | |
| 31 #define NEVENT 20000 | |
| 32 | |
| 33 struct event *ev[NEVENT]; | |
| 34 | |
| 35 static int | |
| 36 rand_int(int n) | |
| 37 { | |
| 38 #ifdef WIN32 | |
| 39 return (int)(rand() * n); | |
| 40 #else | |
| 41 return (int)(random() % n); | |
| 42 #endif | |
| 43 } | |
| 44 | |
| 45 static void | |
| 46 time_cb(int fd, short event, void *arg) | |
| 47 { | |
| 48 struct timeval tv; | |
| 49 int i, j; | |
| 50 | |
| 51 called++; | |
| 52 | |
| 53 if (called < 10*NEVENT) { | |
| 54 for (i = 0; i < 10; i++) { | |
| 55 j = rand_int(NEVENT); | |
| 56 tv.tv_sec = 0; | |
| 57 tv.tv_usec = rand_int(50000); | |
| 58 if (tv.tv_usec % 2) | |
| 59 evtimer_add(ev[j], &tv); | |
| 60 else | |
| 61 evtimer_del(ev[j]); | |
| 62 } | |
| 63 } | |
| 64 } | |
| 65 | |
| 66 int | |
| 67 main (int argc, char **argv) | |
| 68 { | |
| 69 struct timeval tv; | |
| 70 int i; | |
| 71 | |
| 72 /* Initalize the event library */ | |
| 73 event_init(); | |
| 74 | |
| 75 for (i = 0; i < NEVENT; i++) { | |
| 76 ev[i] = malloc(sizeof(struct event)); | |
| 77 | |
| 78 /* Initalize one event */ | |
| 79 evtimer_set(ev[i], time_cb, ev[i]); | |
| 80 tv.tv_sec = 0; | |
| 81 tv.tv_usec = rand_int(50000); | |
| 82 evtimer_add(ev[i], &tv); | |
| 83 } | |
| 84 | |
| 85 event_dispatch(); | |
| 86 | |
| 87 return (called < NEVENT); | |
| 88 } | |
| 89 | |
| OLD | NEW |