Branch data Line data Source code
1 : :
2 : : #include "gwrl/proactor.h"
3 : :
4 : 20 : void didrd(gwpr * pr, gwpr_io_info * info) {
5 : 20 : }
6 : :
7 : 20 : void stop(gwrl * rl, gwrlevt * evt) {
8 : 20 : gwrl_stop(rl);
9 : 20 : }
10 : :
11 : 20 : int main(int argc, char ** argv) {
12 : 20 : gwrl * rl = gwrl_create();
13 : 20 : gwpr * pr = gwpr_create(rl);
14 : 20 : gwrlsrc_file * fsrc = gwpr_set_fd(pr,STDIN_FILENO,NULL);
15 : 20 : gwrlsrc * sources = NULL;
16 : 20 : gwrlsrc * del = NULL;
17 : :
18 : : //setup proactor and run
19 : 20 : gwpr_set_cb(pr,fsrc,gwpr_did_read_cb_id,&didrd);
20 : 20 : gwpr_read(pr,fsrc,gwpr_buf_get(pr,128));
21 : 20 : gwrl_post_function(rl,&stop,NULL);
22 : 20 : gwrl_run(rl);
23 : :
24 : : //free everything
25 : 20 : gwpr_free(pr);
26 : 20 : gwrl_free(rl,&sources);
27 : 20 : del = sources;
28 [ + + ]: 60 : while(del) {
29 [ + - ]: 40 : if(del->type == GWRL_SRC_TYPE_FILE) {
30 : 40 : close(_gwrlsrcf(del)->fd);
31 : 40 : }
32 : 40 : del = del->next;
33 : 40 : }
34 : 20 : gwrl_free(NULL,&sources);
35 : :
36 : 20 : didrd(NULL,NULL);
37 : :
38 : 20 : return 0;
39 : : }
|