X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=event%2Fevent.c;h=fb3c82efb261cce36bca804be3661b492264a1d0;hb=8780881d6185bf57b37dcfb51c8d387527b3f96c;hp=90f9fa7e8d5c07e2ea369e423f125bc416712671;hpb=912bc7231be6eeb538095b729c87dfd09a12b6ad;p=my-code%2Fapi.git diff --git a/event/event.c b/event/event.c index 90f9fa7..fb3c82e 100644 --- a/event/event.c +++ b/event/event.c @@ -30,6 +30,14 @@ int event_set_timeout(t_event *event,int sec,int usec) { return E_SUCCESS; } +int event_set_immediately(t_event *event,unsigned char value) { + + if(value==IMM_TRUE) + event->immediately=value; + + return E_SUCCESS; +} + int event_math(int fd,t_event *event,char rw,char ar) { if(ar==ADD) { @@ -65,7 +73,7 @@ int event_start(t_event *event,void *ptr, event->wfds=event->wfds_o; tv=event->timeout; - if((tv.tv_sec==0)&&(tv.tv_usec==0)) tv_ptr=NULL; + if((tv.tv_sec==0)&&(tv.tv_usec==0)&&(!(event->immediately))) tv_ptr=NULL; else tv_ptr=&tv; if((s_ret=select(event->maxfd+1,&(event->rfds),&(event->wfds),NULL, @@ -93,6 +101,13 @@ int event_start(t_event *event,void *ptr, return E_SUCCESS; } +int event_check(t_event *event,int fd) { + + if(FD_ISSET(fd,&(event->wfds))|FD_ISSET(fd,&(event->rfds))) return E_FD_YES; + else return E_FD_NO; + +} + int event_stop(t_event *event) { dprintf(event->outfd,"[event] shutdown\n");