Changeset 97 in Main for trunk/Server/server.c


Ignore:
Timestamp:
Sep 19, 2024, 11:33:18 PM (8 weeks ago)
Author:
Nishi
Message:

fix select

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Server/server.c

    r96 r97  
    4242#include <netinet/in.h>
    4343#include <netinet/tcp.h>
     44#endif
     45
     46#ifdef __HAIKU__
     47#include <OS.h>
    4448#endif
    4549
     
    392396}
    393397
    394 #ifdef __MINGW32__
    395398struct pass_entry {
    396399        int sock;
     
    400403};
    401404
     405#ifdef __MINGW32__
    402406unsigned int WINAPI tw_server_pass(void* ptr) {
     407#elif defined(__HAIKU__)
     408int32_t tw_server_pass(void* ptr) {
    403409        int sock = ((struct pass_entry*)ptr)->sock;
    404410        bool ssl = ((struct pass_entry*)ptr)->ssl;
     
    802808                                        int sock = accept(sockets[i], (struct sockaddr*)&claddr, &clen);
    803809                                        cm_log("Server", "New connection accepted");
    804 #ifdef __MINGW32__
     810#if defined(__MINGW32__) || defined(__HAIKU__)
    805811                                        struct pass_entry* e = malloc(sizeof(*e));
    806812                                        e->sock = sock;
     
    808814                                        e->port = config.ports[i];
    809815                                        e->addr = claddr;
     816#endif
     817#ifdef __MINGW32__
    810818                                        int j;
    811819                                        for(j = 0; j < sizeof(threads) / sizeof(threads[0]); j++) {
     
    826834                                                }
    827835                                        }
     836#elif defined(__HAIKU__)
     837                                        thread_id thr = spawn_Thread(tw_server_pass, "Tewi HTTPd", 60, e);
    828838#else
    829839                                        pid_t pid = fork();
     
    832842                                                for(j = 0; j < sockcount; j++) close_socket(sockets[j]);
    833843                                                tw_server_pass(sock, config.ports[i] & (1ULL << 32), config.ports[i], claddr);
    834 #ifdef __HAIKU__
    835                                                 exit(0);
    836 #else
    837844                                                _exit(0);
    838 #endif
    839845                                        } else {
    840846                                                close_socket(sock);
Note: See TracChangeset for help on using the changeset viewer.