76 } |
76 } |
77 |
77 |
78 return ret; |
78 return ret; |
79 } |
79 } |
80 |
80 |
|
81 void evhandler_shutdown(EVHandler *h) { |
|
82 for(int i=0;i<h->numins;i++) { |
|
83 ev_instance_shutdown(h->instances[i]); |
|
84 } |
|
85 } |
|
86 |
81 void evhandler_close(EVHandler *h) { |
87 void evhandler_close(EVHandler *h) { |
82 for(int i=0;i<h->numins;i++) { |
88 for(int i=0;i<h->numins;i++) { |
83 ev_instance_close(h->instances[i]); |
89 ev_instance_close(h->instances[i]); |
84 } |
90 } |
85 h->numins = 0; |
91 } |
|
92 |
|
93 void evhandler_wait_and_destroy(EVHandler *h) { |
|
94 for(int i=0;i<h->numins;i++) { |
|
95 ev_instance_wait(h->instances[i]); |
|
96 } |
|
97 |
|
98 free(h->instances); |
|
99 free(h); |
86 } |
100 } |
87 |
101 |
88 /* |
102 /* |
89 * checks if there is at least one event handler and a default handler |
103 * checks if there is at least one event handler and a default handler |
90 * if necessary, check_event_handler_cfg() creates a default event handler |
104 * if necessary, check_event_handler_cfg() creates a default event handler |