+#define _BSD_SOURCE
#include <netdb.h>
#include <netinet/in.h>
#include <signal.h>
void killHandler(int i)
{
- printf("%s caught, Bye...\n", strsignal(i));
+ printf("%i caught, Bye...\n", i);
exit(1);
}
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);
}
//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<argc){
+ port = atoi(argv[++opti]);
+ if(port < 1)
+ die("Port numbers are > 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);
debug("Waiting for 500ms\n");
usleep(500000);
debug("done waiting\n");
+ write(fd, "\n", 1);
}
return 0;
}