Skip to content

Commit 8cb7350

Browse files
committed
update ipc
1 parent 7863e62 commit 8cb7350

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

Server/linked_list.h Server/list.h

File renamed without changes.

Server/server.c

+7-12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// Server side C/C++ program to demonstrate Socket
2-
// programming
1+
// IPC implementation using sockets by TEAM 7
32
#include <netinet/in.h>
43
#include <stdio.h>
54
#include <stdlib.h>
@@ -12,7 +11,7 @@
1211
#include <pthread.h>
1312
#include <arpa/inet.h>
1413
#include <time.h>
15-
#include "linked_list.h"
14+
#include "list.h"
1615
#include <unistd.h>
1716

1817

@@ -29,7 +28,7 @@ struct clientAddress {
2928

3029
struct ArrayList clientsList;
3130

32-
#define MESSAGE_QUEUE_DELAY 30000 // 10 ms in microseconds
31+
#define MESSAGE_QUEUE_DELAY 30000 // 30 ms in microseconds
3332

3433
struct MessageQueue {
3534
char* message;
@@ -39,12 +38,11 @@ struct MessageQueue {
3938
struct MessageQueue* messageQueue = NULL;
4039
pthread_mutex_t queueMutex = PTHREAD_MUTEX_INITIALIZER;
4140

42-
// Function to add a message to the message queue
4341
void addToMessageQueue(const char* message) {
4442
pthread_mutex_lock(&queueMutex);
4543

4644
struct MessageQueue* newMessage = (struct MessageQueue*)malloc(sizeof(struct MessageQueue));
47-
newMessage->message = strdup(message); // Duplicate the message to avoid memory issues
45+
newMessage->message = strdup(message);
4846
newMessage->next = NULL;
4947

5048
if (messageQueue == NULL) {
@@ -60,7 +58,6 @@ void addToMessageQueue(const char* message) {
6058
pthread_mutex_unlock(&queueMutex);
6159
}
6260

63-
// Function to send a message from the message queue with a delay
6461
void* sendMessageFromQueue(void* arg) {
6562
while (true) {
6663
pthread_mutex_lock(&queueMutex);
@@ -71,16 +68,14 @@ void* sendMessageFromQueue(void* arg) {
7168

7269
pthread_mutex_unlock(&queueMutex);
7370

74-
// Send the message
7571
usleep(MESSAGE_QUEUE_DELAY);
7672
send(server_fd, temp->message, strlen(temp->message), 0);
77-
// Introduce a delay
7873

7974
free(temp->message);
8075
free(temp);
8176
} else {
8277
pthread_mutex_unlock(&queueMutex);
83-
usleep(1000); // Sleep for 1 ms if the queue is empty
78+
usleep(1000);
8479
}
8580
}
8681
}
@@ -89,7 +84,7 @@ void handle_sigint(int sig) {
8984
printf("Received SIGINT. Closing server...\n");
9085
close(server_fd);
9186
deleteAll(&clientsList);
92-
// Free the message queue
87+
9388
while (messageQueue != NULL) {
9489
struct MessageQueue* temp = messageQueue;
9590
messageQueue = messageQueue->next;
@@ -202,7 +197,7 @@ void* handle_client(void* client) {
202197

203198
}
204199

205-
// Close the connected socket for this client
200+
// сlose the connected socket for this client
206201
close(new_socket);
207202
free(clientArgs->client_socket);
208203
return NULL;

0 commit comments

Comments
 (0)