t_net *gnet;
t_event *gevent;
t_list *gc_list;
+t_list *gg_list;
int alert;
/*
/* if we have a new node - care for it! */
event_math(net->connection[channel].fd,event,READ,ADD);
+ printf("\n");
+
return 1;
}
job.step=0;
list_add_element(jl,&job,sizeof(t_job));
+
+ printf("job added: b=%f | c=%f | s=%f ...\n",
+ job.info.b,job.info.c,job.info.s);
return 1;
}
c->status=IDLE;
/* delete job entry */
list_del_current(job);
+ printf("job ended, saved and removed from list.\n");
}
if(data==DC_OK) {
save_job(net,i,j,DC_OK);
/* inc progress state */
j->progress+=1;
+ printf("job at next level, saved.\n");
}
if(data==DC_QUIT) {
list_del_current(c_list);
/* change job state */
j->status=IN_QUEUE;
+ printf("client terminating, job queued, client removed.\n");
}
}
}
}
}
+
+ printf("\n");
return 1;
}
g_list=(t_list *)addr[2];
job=(t_list *)addr[3];
+ printf("d: distributing jobs ...\n");
+
count_j=list_count(job);
count_c=list_count(c_list);
printf("connection to client (ch %d) fucked up!\n",*gi);
event_math(gnet->connection[*gi].fd,gevent,READ,REMOVE);
network_close(gnet,*gi);
- list_del_current(gc_list);
+ if(list_search_data(gc_list,gi,sizeof(int))==L_SUCCESS) {
+ list_del_current(gc_list);
+ printf("removed client from list\n");
+ }
+ if(list_search_data(gg_list,gi,sizeof(int))==L_SUCCESS) {
+ list_del_current(gg_list);
+ printf("removed gui from list\n");
+ }
alert=1;
alarm(0);
gnet=&net;
gevent=&event;
gc_list=&c_list;
+ gg_list=&g_list;
/* tzzz ... */
allyouneed=(void *)addr;