c = task_register(fd_in);
write(fd_out, &c, 1);
break;
+ case '\n':
+ break;
+ case '\0':
+ debug("iTasks server shut down\n");
+ exit(EXIT_SUCCESS);
default:
- debug("Unknown message: %X?\n", c);
+ debug("Unknown message: %X %X?\n", c, EOF);
}
}
if((sock_fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
pdie("socket");
if(bind(sock_fd, (struct sockaddr*)&sa, sizeof(sa)) == -1)
- pdie("bind\n");
+ pdie("bind");
if(listen(sock_fd, 10) == -1)
- pdie("bind\n");
+ pdie("listen");
printf("Listening on %d\n", port);
fflush(stdout);
}
open_filedescriptors();
+ write(fd, "\n", 1);
long cyclestart;
struct task *curtask;
for(ct = 0; ct<MAXTASKS; ct++){
//See whether the task is even in use
if((curtask = task_get(ct)) == NULL){
- debug("Task %d not implemented\n", ct);
+// debug("Task %d not implemented\n", ct);
continue;
}
//See whether the task interval has passed
if(cyclestart-curtask->lastrun < curtask->interval){
- debug("Task %d not scheduled\n", ct);
+// debug("Task %d not scheduled\n", ct);
continue;
}
#ifdef DEBUG
printf("Current task to run: %d\n", ct);
getchar();
#endif
- run_task(curtask);
+ run_task(curtask, fd);
}
- usleep(10);
+ debug("Waiting for 500ms\n");
+ usleep(500000);
+ debug("done waiting\n");
}
return 0;
}