ui improve

This commit is contained in:
2026-04-25 10:34:50 +03:00
parent 7515e0334b
commit a2e874de85
9 changed files with 162 additions and 108 deletions
+8
View File
@@ -24,6 +24,7 @@
static TransferState g_server_state;
static std::atomic<int> g_server_client_sock{-1};
static std::atomic<int> g_server_listen_sock{-1};
static std::atomic<int> g_broadcast_sock{-1};
bool isServerTransferDone() { return g_server_state.done.load(); }
@@ -35,6 +36,8 @@ void cancelServerTransfer() {
g_server_state.cancelled.store(true);
int sock = g_server_client_sock.load();
if (sock >= 0) shutdown(sock, SHUT_RDWR);
int lsock = g_server_listen_sock.load();
if (lsock >= 0) shutdown(lsock, SHUT_RDWR);
int bsock = g_broadcast_sock.load();
if (bsock >= 0) shutdown(bsock, SHUT_RDWR);
}
@@ -173,9 +176,11 @@ static void* accept_and_handle(void* arg) {
int server_fd = static_cast<AcceptArgs*>(arg)->server_fd;
delete static_cast<AcceptArgs*>(arg);
g_server_listen_sock.store(server_fd);
sockaddr_in client_addr{};
socklen_t client_len = sizeof(client_addr);
int client_socket = accept(server_fd, (sockaddr*)&client_addr, &client_len);
g_server_listen_sock.store(-1);
close(server_fd);
if (client_socket >= 0) {
@@ -256,6 +261,9 @@ int startSendingThread() {
return 1;
}
int yes = 1;
setsockopt(server, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));
sockaddr_in addr{};
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = INADDR_ANY;