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) {
int s_ret;
struct timeval tv;
+ struct timeval *tv_ptr;
/* switch on event system */
event->status=ENABLED;
event->wfds=event->wfds_o;
tv=event->timeout;
+ 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,
- &tv))==-1) {
+ tv_ptr))==-1) {
perror("[event] select call");
return E_ERROR;
}
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");