X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=int%2Fmain.c;h=02852efbce945274e620852137084c455acd44a2;hb=1383ec4c1733cc6f07fe68e0619446d60fe5277e;hp=43911bc4bc3e4ee83cbb837e15af0d458283dbb7;hpb=790a710d277a608f47bf92f7edb6ef18935a7954;p=mTask.git diff --git a/int/main.c b/int/main.c index 43911bc..02852ef 100644 --- a/int/main.c +++ b/int/main.c @@ -1,3 +1,4 @@ +#define _BSD_SOURCE #include #include #include @@ -31,7 +32,7 @@ int port = 8123; void killHandler(int i) { - printf("%s caught, Bye...\n", strsignal(i)); + printf("%i caught, Bye...\n", i); exit(1); } @@ -77,23 +78,25 @@ void read_message(int fd_in, int fd_out) case MSG_GET_TASK: debug("Receiving a task\n"); c = task_register(fd_in); - write(fd_out, &c, 1); +// write(fd_out, &c, 1); +// write(fd_out, break; case '\n': break; - case '\0': - debug("iTasks server shut down\n"); - exit(EXIT_SUCCESS); +// case '\0': +// debug("iTasks server shut down\n"); +// exit(EXIT_SUCCESS); default: - debug("Unknown message: %X %X?\n", c, EOF); + debug("Unknown message: %X\n", c); } + (void) fd_out; } void open_filedescriptors() { struct sockaddr_in sa; - bzero((char *) &sa, sizeof(sa)); + memset(&sa, 0, sizeof(sa)); sa.sin_family = AF_INET; sa.sin_addr.s_addr = INADDR_ANY; sa.sin_port = htons(port); @@ -133,24 +136,27 @@ int main(int argc, char *argv[]) } //Command line arguments - int opt; - while((opt = getopt(argc, argv, "hp:")) != -1){ - switch(opt){ - case 'p': - port = atoi(optarg); - if(port < 1) - die("Port numbers are > 1\n"); - break; - case 'h': - usage(stdout, argv[0]); - exit(EXIT_SUCCESS); - default: - usage(stderr, argv[0]); - exit(EXIT_FAILURE); + int opti = 1; + while(opti < argc){ + if(strcmp(argv[opti], "-h") == 0){ + usage(stdout, argv[0]); + exit(EXIT_SUCCESS); + } else if(strcmp(argv[opti], "-p") == 0 && opti+1 1\n"); + } else { + usage(stderr, argv[0]); + exit(EXIT_FAILURE); } - + opti++; } + //Initialize systems + sds_init(); + task_init(); + + //Open communication open_filedescriptors(); write(fd, "\n", 1); @@ -182,6 +188,7 @@ int main(int argc, char *argv[]) debug("Waiting for 500ms\n"); usleep(500000); debug("done waiting\n"); + write(fd, "\n", 1); } return 0; }