diff options
| author | iceyrazor <iceyrazor@mailfence.com> | 2026-10-11 00:25:23 -0500 |
|---|---|---|
| committer | iceyrazor <iceyrazor@mailfence.com> | 2026-10-11 00:25:23 -0500 |
| commit | cd94292211dc4c7a019691cb00e092368489ca22 (patch) | |
| tree | 2ae1bd8b8a7673fbe11565d7f063718351f44947 | |
| parent | 3afe286fe87e5769dd7580c37f1db6c341b61fc1 (diff) | |
updated socket lib, removed iceys-c-libs lib
| -rwxr-xr-x | build.sh | 13 | ||||
| m--------- | libs/iceys-c-libs | 0 | ||||
| m--------- | libs/socket | 0 | ||||
| -rwxr-xr-x | src/client-polled.c | 1 | ||||
| -rwxr-xr-x | src/client.c | 2 | ||||
| -rwxr-xr-x | src/main.c | 27 |
6 files changed, 19 insertions, 24 deletions
@@ -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; @@ -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 |
