X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fircd_events.c;h=f21ecdbe29ca8c775f9e93da66e46b5dcccc28b3;hb=80830871e274ebdbadc3edc52e73b6a3a6621447;hp=2de7f20aaba42ae16ef646fe7acd1a04df267efd;hpb=7159e7e3cfbb3c8de417c09d1f39aeb2dbcab3ee;p=ircu2.10.12-pk.git diff --git a/ircd/ircd_events.c b/ircd/ircd_events.c index 2de7f20..f21ecdb 100644 --- a/ircd/ircd_events.c +++ b/ircd/ircd_events.c @@ -246,7 +246,7 @@ event_add(struct Event* event) static void timer_enqueue(struct Timer* timer) { - struct Timer** ptr_p; + struct GenHeader** ptr_p; assert(0 != timer); assert(0 == timer->t_header.gh_prev_p); /* not already on queue */ @@ -265,16 +265,16 @@ timer_enqueue(struct Timer* timer) /* Find a slot to insert timer */ for (ptr_p = &evInfo.gens.g_timer; ; - ptr_p = (struct Timer**) &(*ptr_p)->t_header.gh_next) - if (!*ptr_p || timer->t_expire < (*ptr_p)->t_expire) + ptr_p = &(*ptr_p)->gh_next) + if (!*ptr_p || timer->t_expire < ((struct Timer*)*ptr_p)->t_expire) break; /* link it in the right place */ - timer->t_header.gh_next = (struct GenHeader*) *ptr_p; - timer->t_header.gh_prev_p = (struct GenHeader**) ptr_p; + timer->t_header.gh_next = *ptr_p; + timer->t_header.gh_prev_p = ptr_p; if (*ptr_p) - (*ptr_p)->t_header.gh_prev_p = &timer->t_header.gh_next; - *ptr_p = timer; + (*ptr_p)->gh_prev_p = &timer->t_header.gh_next; + *ptr_p = &timer->t_header; } /** &Signal handler for writing signal notification to pipe. @@ -300,7 +300,7 @@ signal_callback(struct Event* event) { unsigned char sigstr[SIGS_PER_SOCK]; int sig, n_sigs, i; - struct Signal* ptr; + struct GenHeader* ptr; assert(event->ev_type == ET_READ); /* readable events only */ @@ -310,8 +310,8 @@ signal_callback(struct Event* event) sig = (int) sigstr[i]; /* get signal */ for (ptr = evInfo.gens.g_signal; ptr; - ptr = (struct Signal*) ptr->sig_header.gh_next) - if (ptr->sig_signal == sig) /* find its descriptor... */ + ptr = ptr->gh_next) + if (((struct Signal*)ptr)->sig_signal == sig) /* find its descriptor... */ break; if (ptr) @@ -447,7 +447,7 @@ timer_verify(void) struct Timer* timer_init(struct Timer* timer) { - gen_init((struct GenHeader*) timer, 0, 0, 0, 0); + gen_init(&timer->t_header, 0, 0, 0, 0); timer->t_header.gh_flags = 0; /* turn off active flag */ @@ -548,7 +548,7 @@ timer_run(void) struct Timer* ptr; /* go through queue... */ - while ((ptr = evInfo.gens.g_timer)) { + while ((ptr = (struct Timer*)evInfo.gens.g_timer)) { if (CurrentTime < ptr->t_expire) break; /* processed all pending timers */ @@ -587,9 +587,9 @@ signal_add(struct Signal* signal, EventCallBack call, void* data, int sig) assert(0 != evInfo.engine); /* set up struct */ - gen_init((struct GenHeader*) signal, call, data, - (struct GenHeader*) evInfo.gens.g_signal, - (struct GenHeader**) &evInfo.gens.g_signal); + gen_init(&signal->sig_header, call, data, + evInfo.gens.g_signal, + &evInfo.gens.g_signal); signal->sig_signal = sig; @@ -623,9 +623,9 @@ socket_add(struct Socket* sock, EventCallBack call, void* data, assert(0 != evInfo.engine->eng_add); /* set up struct */ - gen_init((struct GenHeader*) sock, call, data, - (struct GenHeader*) evInfo.gens.g_socket, - (struct GenHeader**) &evInfo.gens.g_socket); + gen_init(&sock->s_header, call, data, + evInfo.gens.g_socket, + &evInfo.gens.g_socket); sock->s_state = state; sock->s_events = events & SOCK_EVENT_MASK;