Browse Source

some general cleanup of main

master
Brett Langdon 13 years ago
parent
commit
8dd381bcec
1 changed files with 18 additions and 11 deletions
  1. +18
    -11
      src/main.c

+ 18
- 11
src/main.c View File

@ -20,7 +20,7 @@ sig_atomic_t connections = 0;
void* worker(void* arg){
FILE* client = (FILE*) arg;
char buffer[100];
char buffer[128];
++connections;
int status;
while(fgets(buffer, sizeof(buffer), client)){
@ -44,8 +44,10 @@ void* worker(void* arg){
}
void on_signal(){
printf("Shutting down fast-cache\r\n");
if(server){
printf("Closing socket\r\n");
shutdown(server, 2);
close(server);
}
@ -62,9 +64,14 @@ void on_signal(){
}
int main(){
signal(SIGINT, on_signal);
int pool_size = 10;
int i, addr_len, yes, port, pool_size;
pool_size = 10;
pthread_t pool[pool_size];
char* base_url = "http://127.0.0.1:8000/";
struct sockaddr_in addr, client_addr;
signal(SIGINT, on_signal);
signal(SIGTERM, on_signal);
queue_init(&requests);
@ -74,14 +81,11 @@ int main(){
return -1;
}
int i;
printf("Starting %d worker threads\r\n", pool_size);
for(i = 0; i < pool_size; ++i){
pthread_create(&(pool[i]), NULL, call_proxy, NULL);
pthread_create(&(pool[i]), NULL, call_proxy, (void*)base_url);
}
struct sockaddr_in addr, client_addr;
int addr_len;
server = socket(PF_INET, SOCK_STREAM, 0);
if(!server){
@ -89,20 +93,23 @@ int main(){
return -1;
}
port = 7000;
addr.sin_family = AF_INET;
addr.sin_port = htons(7000);
addr.sin_port = htons(port);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
if(bind(server, (struct sockaddr*)&addr, sizeof(addr)) < 0){
fprintf(stderr, "Address already in use\r\n");
perror("Error binding socket");
return -1;
}
yes = 1;
setsockopt(server,SOL_SOCKET,(SO_REUSEPORT | SO_REUSEADDR), &yes, sizeof(yes));
if(listen(server, 24) < 0){
fprintf(stderr, "Address already in use\r\n");
perror("Error binding socket");
return -1;
} else{
printf("Listening on 0.0.0.0:7000\r\n");
printf("Listening on 0.0.0.0:%d\r\n", port);
int client;
pthread_t child;
FILE *fp;


Loading…
Cancel
Save