aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriceyrazor <iceyrazor@mailfence.com>2026-10-11 00:25:23 -0500
committericeyrazor <iceyrazor@mailfence.com>2026-10-11 00:25:23 -0500
commitcd94292211dc4c7a019691cb00e092368489ca22 (patch)
tree2ae1bd8b8a7673fbe11565d7f063718351f44947
parent3afe286fe87e5769dd7580c37f1db6c341b61fc1 (diff)
updated socket lib, removed iceys-c-libs lib
-rwxr-xr-xbuild.sh13
m---------libs/iceys-c-libs0
m---------libs/socket0
-rwxr-xr-xsrc/client-polled.c1
-rwxr-xr-xsrc/client.c2
-rwxr-xr-xsrc/main.c27
6 files changed, 19 insertions, 24 deletions
diff --git a/build.sh b/build.sh
index 659b7f9..5d75123 100755
--- a/build.sh
+++ b/build.sh
@@ -2,15 +2,17 @@
set -e
DEBUG_FLAGS=""
-LIB="-Ilibs/iceys-c-libs -Ilibs/socket"
+LIB="-Ilibs/socket"
mkdir -p bin
mkdir -p obj
-while getopts "d" opt; do
+while getopts "df" opt; do
case "$opt" in
d) DEBUG_FLAGS="-Wall -fsanitize=address -g"
;;
+ f) DEBUG_FLAGS="-Wall -fsanitize=thread -g"
+ ;;
esac
done
@@ -18,11 +20,10 @@ shift $((OPTIND-1))
[ "${1:-}" = "--" ] && shift
printf "\n\nmaking project\n"
-clang -Ilibs/iceys-c-libs -c libs/iceys-c-libs/iceys-utils.c -o obj/iceys-utils.o
-clang -Ilibs/socket -c libs/socket/Server.c -o obj/Server.o
-clang -Ilibs/socket -c libs/socket/launch-socket.c -o obj/launch-socket.o
+clang -O3 -Ilibs/socket -c libs/socket/Server.c -o obj/Server.o
+clang -O3 -Ilibs/socket -c libs/socket/launch-socket.c -o obj/launch-socket.o
-clang obj/Server.o obj/iceys-utils.o obj/launch-socket.o -o bin/socket src/main.c $LIB $DEBUG_FLAGS -lm
+clang -O3 obj/Server.o obj/launch-socket.o -o bin/socket src/main.c $LIB $DEBUG_FLAGS -lm
clang -o bin/client src/client.c $LIB $DEBUG_FLAGS -lm
clang -o bin/client-polled src/client-polled.c $LIB $DEBUG_FLAGS -lm
diff --git a/libs/iceys-c-libs b/libs/iceys-c-libs
deleted file mode 160000
-Subproject a5e1191ad6c34636eb49c0ddaeb9af1bd5c07a2
diff --git a/libs/socket b/libs/socket
-Subproject 3521cc6e1a87f16c8db5c3c5a0c3cf59e1ff04c
+Subproject a926ae205ecb42a603e428346cf99dc1e66ed69
diff --git a/src/client-polled.c b/src/client-polled.c
index 9a88436..b0fa9a5 100755
--- a/src/client-polled.c
+++ b/src/client-polled.c
@@ -4,7 +4,6 @@
#include <sys/socket.h>
#include <arpa/inet.h>
#include <poll.h>
-#include "iceys-utils.c"
#define SA(ptr) ((struct sockaddr *)(ptr))
diff --git a/src/client.c b/src/client.c
index 4f68d89..ad7b861 100755
--- a/src/client.c
+++ b/src/client.c
@@ -7,7 +7,6 @@
#include <pthread.h>
#include <string.h>
#include "launch-socket.c"
-#include "iceys-utils.c"
#define SA(ptr) ((struct sockaddr *)(ptr))
@@ -45,6 +44,7 @@ int main(int argc, char *argv[]){
perror("socketfd error");
exit(-1);
}
+ send(socketfd, "connected", strlen("connected"), 0);
char *name = NULL;
size_t nameSize = 0;
diff --git a/src/main.c b/src/main.c
index 8ebc69a..eb9569e 100755
--- a/src/main.c
+++ b/src/main.c
@@ -1,5 +1,5 @@
-#include <launch-socket.h>
#include <Server.h>
+#include <launch-socket.h>
#include <pthread.h>
#include <signal.h>
#include <stdio.h>
@@ -7,7 +7,7 @@
#include <unistd.h>
// dont use stdio in these
-sig_atomic_t running = 1;
+volatile sig_atomic_t running = 1;
void sig_int_handler(int num)
{
running = 0;
@@ -17,14 +17,7 @@ void on_message(struct Server* server, char message[], ssize_t amountRecv, int s
{
if (amountRecv > 0) {
printf("%s\n", message);
-
- struct AcceptedSocket* sel_socket = server->accepted_socket;
- while (sel_socket != NULL) {
- if (sel_socket->socketFD != socketFD) {
- send(sel_socket->socketFD, message, 30000, 0);
- }
- sel_socket = sel_socket->next;
- }
+ broadcast(server,socketFD,message); //this calls mutex lock and unlock on server->list_lock
}
}
@@ -40,18 +33,20 @@ int main(int argc, char* argv[])
exit(-1);
}
- struct Server server = server_constructor(AF_INET, SOCK_STREAM, 0, INADDR_ANY, port, 10, launch_socket);
+ struct Server server = server_constructor(AF_INET, SOCK_STREAM, 0, INADDR_ANY, port, 10);
server.on_message = on_message;
- pthread_t server_thread = server.launch(&server);
+ launch_socket(&server);
struct sigaction act = { 0 };
act.sa_handler = &sig_int_handler;
sigaction(SIGINT, &act, NULL);
- while (running) { }
+ while (running) {
+ pause();
+ }
- server_close_socket(&server);
- pthread_join(server_thread, NULL);
+ int shut_err = server_close_socket(&server);
+ printf("shutdown with %d\n", shut_err);
return 0;
-}
+} \ No newline at end of file