Commit b0fcee06 authored by Roshan Rabinarayan's avatar Roshan Rabinarayan

infinite looping :solved

parent 77c47536
...@@ -54,12 +54,17 @@ struct message *request(char status,char* key,char* value) ...@@ -54,12 +54,17 @@ struct message *request(char status,char* key,char* value)
void func(int sockfd,struct message* requestMessage) void func(int sockfd,struct message* requestMessage)
{ {
char buff[MAX]; char buff[MAX];
int n; int n=0;
for (;;) { for (;;) {
bzero(buff, sizeof(buff)); bzero(buff, sizeof(buff));
n = 0;
if((n++)==0) if(n==0)
{
n++;
printf("[Message sent to server]\n[[Status:%c]\n[Key:%s]\n[Value:%s]]",requestMessage->status,requestMessage->key,requestMessage->value);
write(sockfd, requestMessage, sizeof(struct message)); write(sockfd, requestMessage, sizeof(struct message));
}
//printf("[Message sent to server]\n[[Status:%c]\n[Key:%s]\n[Value:%s]]",requestMessage->status,requestMessage->key,requestMessage->value); //printf("[Message sent to server]\n[[Status:%c]\n[Key:%s]\n[Value:%s]]",requestMessage->status,requestMessage->key,requestMessage->value);
} }
......
...@@ -108,7 +108,7 @@ void *worker(void *args) { ...@@ -108,7 +108,7 @@ void *worker(void *args) {
read(read_pipe, newfd, sizeof(newfd)); read(read_pipe, newfd, sizeof(newfd));
printf("\nread %d\n", *newfd); printf("\nread %d\n", *newfd);
ev.data.fd=*newfd; ev.data.fd=*newfd;
ev.events = EPOLLIN; ev.events = EPOLLIN|EPOLLET;
if (epoll_ctl(epollfd, EPOLL_CTL_ADD, *newfd, &ev) == -1) { if (epoll_ctl(epollfd, EPOLL_CTL_ADD, *newfd, &ev) == -1) {
perror("epoll_ctl: read_pipe"); perror("epoll_ctl: read_pipe");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
...@@ -119,21 +119,21 @@ void *worker(void *args) { ...@@ -119,21 +119,21 @@ void *worker(void *args) {
else{ else{
struct message *requestMessage= malloc(sizeof(struct message)); struct message *requestMessage= malloc(sizeof(struct message));
read(events[i].data.fd , requestMessage, sizeof(struct message)); int readlength=read(events[i].data.fd , requestMessage, sizeof(struct message));
if(requestMessage->status ==EOF) if(requestMessage->status ==EOF)
{ {
ev.data.fd=events[i].data.fd; ev.data.fd=events[i].data.fd;
ev.events = EPOLLIN; ev.events = EPOLLIN|EPOLLET;
epoll_ctl( epollfd, EPOLL_CTL_DEL, events[i].data.fd , &ev ); epoll_ctl( epollfd, EPOLL_CTL_DEL, events[i].data.fd , &ev );
close(events[i].data.fd); close(events[i].data.fd);
} }
else else
{ {
printf("[Message Received from client]\n[[Status:%c]\n[Key:%s]\n[Value:%s]]",requestMessage->status,requestMessage->key,requestMessage->value); printf("[Message Received from client]\n[[Status:%c][Key:%s][Value:%s]]",requestMessage->status,requestMessage->key,requestMessage->value);
fflush(stdout);
} }
} }
} }
......
No preview for this file type
No preview for this file type
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment