#include <assert.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <errno.h>#include <unistd.h>#include <grp.h>#include <fcntl.h>#include <xmlrpc-c/config.h>#include "abyss_mallocvar.h"#include "abyss_xmlrpc_int.h"#include <xmlrpc-c/abyss.h>#include "abyss_trace.h"#include "abyss_session.h"#include "abyss_conn.h"#include "abyss_socket.h"#include "abyss_socket_unix.h"#include "abyss_http.h"#include "abyss_date.h"#include "abyss_info.h"#include "abyss_server.h"#include "../../dprint.h"

Go to the source code of this file.
Data Structures | |
| struct | outstandingConnList |
Defines | |
| #define | BOUNDARY "##123456789###BOUNDARY" |
Typedefs | |
| typedef int(* | TQSortProc )(const void *, const void *) |
Functions | |
| static void | addToOutstandingConnList (outstandingConnList *const listP, TConn *const connectionP) |
| static int | cmpfiledates (const TFileInfo **f1, const TFileInfo **f2) |
| static int | cmpfilenames (const TFileInfo **f1, const TFileInfo **f2) |
| static void | createAndBindSocket (struct _TServer *const srvP) |
| static URIHandler2 * | createHandler (URIHandler const function) |
| static void | createOutstandingConnList (outstandingConnList **const listPP) |
| static void | createServer (struct _TServer **const srvPP, abyss_bool const noAccept, TSocket *const userSocketP, uint16_t const portNumber, const char **const errorP) |
| static void | createSocketFromOsSocket (TOsSocket const osSocket, TSocket **const socketPP) |
| static void | destroyConnSocket (void *const userHandle) |
| static void | destroyOutstandingConnList (outstandingConnList *const listP) |
| static void | determineSortType (const char *const query, abyss_bool *const ascendingP, uint16_t *const sortP, abyss_bool *const textP, const char **const errorP) |
| static void | fileDate (TSession *const sessionP, time_t const statFilemodTime, TDate *const fileDateP) |
| static void | freeFinishedConns (outstandingConnList *const listP) |
| static void | generateListing (TList *const listP, char *const z, const char *const uri, TPool *const poolP, const char **const errorP, uint16_t *const responseStatusP) |
| static void | initSocketStuff (struct _TServer *const srvP, abyss_bool const noAccept, TSocket *const userSocketP, uint16_t const port, const char **const errorP) |
| static void | initUnixStuff (struct _TServer *const srvP) |
| static void | logClose (struct _TServer *const srvP) |
| static abyss_bool | logOpen (struct _TServer *const srvP) |
| void | LogWrite (TServer *const serverP, const char *const msg) |
| static void | processDataFromClient (TConn *const connectionP, abyss_bool const lastReqOnConn, abyss_bool *const keepAliveP) |
| static void | runUserHandler (TSession *const sessionP, struct _TServer *const srvP) |
| static void | sendBody (TSession *const sessionP, TFile *const fileP, uint64_t const filesize, const char *const mediatype, uint64_t const start0, uint64_t const end0, char *const z) |
| static void | sendDirectoryDocument (TList *const listP, abyss_bool const ascending, uint16_t const sort, abyss_bool const text, const char *const uri, MIMEType *const mimeTypeP, TSession *const sessionP, char *const z) |
| abyss_bool | ServerAddHandler (TServer *const serverP, URIHandler const function) |
| void | ServerAddHandler2 (TServer *const serverP, URIHandler2 *const handlerArgP, abyss_bool *const successP) |
| abyss_bool | ServerCreate (TServer *const serverP, const char *const name, uint16_t const portNumber, const char *const filesPath, const char *const logFileName) |
| abyss_bool | ServerCreateNoAccept (TServer *const serverP, const char *const name, const char *const filesPath, const char *const logFileName) |
| abyss_bool | ServerCreateSocket (TServer *const serverP, const char *const name, TOsSocket const socketFd, const char *const filesPath, const char *const logFileName) |
| void | ServerCreateSocket2 (TServer *const serverP, TSocket *const socketP, const char **const errorP) |
| void | ServerDaemonize (TServer *const serverP) |
| void | ServerDefaultHandler (TServer *const serverP, URIHandler const handler) |
| static abyss_bool | ServerDefaultHandlerFunc (TSession *const sessionP) |
| static abyss_bool | ServerDirectoryHandler (TSession *const r, char *const z, time_t const fileModTime, MIMEType *const mimeTypeP) |
| static abyss_bool | ServerFileHandler (TSession *const r, char *const z, time_t const fileModTime, MIMEType *const mimeTypeP) |
| void | ServerFree (TServer *const serverP) |
| static void | serverFunc (void *const userHandle) |
| void | ServerHandleSigchld (pid_t const pid) |
| void | ServerInit (TServer *const serverP) |
| void | ServerResetTerminate (TServer *const serverP) |
| void | ServerRun (TServer *const serverP) |
| static void | serverRun2 (TServer *const serverP) |
| void | ServerRunConn (TServer *const serverP, TOsSocket const connectedOsSocket) |
| static void | serverRunConn (TServer *const serverP, TSocket *const connectedSocketP) |
| void | ServerRunConn2 (TServer *const serverP, TSocket *const connectedSocketP, const char **const errorP) |
| void | ServerRunOnce (TServer *const serverP) |
| void | ServerRunOnce2 (TServer *const serverP, enum abyss_foreback const foregroundBackground ATTR_UNUSED) |
| void | ServerSetAdvertise (TServer *const serverP, abyss_bool const advertise) |
| void | ServerSetFilesPath (TServer *const serverP, const char *const filesPath) |
| void | ServerSetKeepaliveMaxConn (TServer *const serverP, uint32_t const keepaliveMaxConn) |
| void | ServerSetKeepaliveTimeout (TServer *const serverP, uint32_t const keepaliveTimeout) |
| void | ServerSetLogFileName (TServer *const serverP, const char *const logFileName) |
| void | ServerSetMimeType (TServer *const serverP, MIMEType *const MIMETypeP) |
| void | ServerSetName (TServer *const serverP, const char *const name) |
| void | ServerSetTimeout (TServer *const serverP, uint32_t const timeout) |
| void | ServerTerminate (TServer *const serverP) |
| void | ServerUseSigchld (TServer *const serverP) |
| static void | setGroups (void) |
| static void | setNamePathLog (TServer *const serverP, const char *const name, const char *const filesPath, const char *const logFileName) |
| static void | terminateHandlers (TList *const handlersP) |
| static void | waitForConnectionCapacity (outstandingConnList *const outstandingConnListP) |
| static void | waitForConnectionFreed (outstandingConnList *const outstandingConnListP ATTR_UNUSED) |
| static void | waitForNoConnections (outstandingConnList *const outstandingConnListP) |
Variables | |
| TThreadDoneFn | destroySocket |
| static TThreadProc | serverFunc |
| #define BOUNDARY "##123456789###BOUNDARY" |
| typedef int(* TQSortProc)(const void *, const void *) |
Definition at line 57 of file abyss_server.c.
| static void addToOutstandingConnList | ( | outstandingConnList *const | listP, | |
| TConn *const | connectionP | |||
| ) | [static] |
Definition at line 1260 of file abyss_server.c.
References outstandingConnList::count, outstandingConnList::firstP, and _TConn::nextOutstandingP.
Referenced by serverRun2().
Definition at line 70 of file abyss_server.c.
References A_SUBDIR.
Referenced by sendDirectoryDocument().
Definition at line 60 of file abyss_server.c.
References A_SUBDIR.
Referenced by sendDirectoryDocument().
| static void createAndBindSocket | ( | struct _TServer *const | srvP | ) | [static] |
Definition at line 1145 of file abyss_server.c.
References _TServer::listenSocketP, NULL, _TServer::port, SocketBind(), _TServer::socketBound, SocketDestroy(), SocketInit(), SocketUnixCreate(), TraceMsg(), TRUE, and _TServer::weCreatedListenSocket.
Referenced by ServerInit().
| static URIHandler2* createHandler | ( | URIHandler const | function | ) | [static] |
Definition at line 1694 of file abyss_server.c.
References MALLOCVAR, and NULL.
Referenced by ServerAddHandler().
| static void createOutstandingConnList | ( | outstandingConnList **const | listPP | ) | [static] |
Definition at line 1234 of file abyss_server.c.
References outstandingConnList::count, outstandingConnList::firstP, MALLOCVAR_NOFAIL, and NULL.
Referenced by serverRun2().
| static void createServer | ( | struct _TServer **const | srvPP, | |
| abyss_bool const | noAccept, | |||
| TSocket *const | userSocketP, | |||
| uint16_t const | portNumber, | |||
| const char **const | errorP | |||
| ) | [static] |
Definition at line 720 of file abyss_server.c.
References _TServer::advertise, DEFAULT_DOCS, _TServer::defaultfilenames, _TServer::defaulthandler, FALSE, _TServer::filespath, _TServer::handlers, initSocketStuff(), initUnixStuff(), _TServer::keepalivemaxconn, _TServer::keepalivetimeout, ListInitAutoFree(), _TServer::logfileisopen, _TServer::logfilename, MALLOCVAR, _TServer::mimeTypeP, _TServer::name, NULL, ServerDefaultHandlerFunc(), _TServer::terminationRequested, _TServer::timeout, TRUE, _TServer::useSigchld, and xmlrpc_asprintf().
Referenced by normalLevelAbyssRun(), ServerCreate(), ServerCreateNoAccept(), ServerCreateSocket(), and ServerCreateSocket2().
| static void createSocketFromOsSocket | ( | TOsSocket const | osSocket, | |
| TSocket **const | socketPP | |||
| ) | [static] |
Definition at line 820 of file abyss_server.c.
References SocketUnixCreateFd().
Referenced by ServerCreateSocket(), and ServerRunConn().
| static void destroyConnSocket | ( | void *const | userHandle | ) | [static] |
Definition at line 1374 of file abyss_server.c.
References SocketDestroy(), and _TConn::socketP.
Referenced by serverRun2().
| static void destroyOutstandingConnList | ( | outstandingConnList *const | listP | ) | [static] |
Definition at line 1249 of file abyss_server.c.
References outstandingConnList::count, outstandingConnList::firstP, and NULL.
Referenced by serverRun2().
| static void determineSortType | ( | const char *const | query, | |
| abyss_bool *const | ascendingP, | |||
| uint16_t *const | sortP, | |||
| abyss_bool *const | textP, | |||
| const char **const | errorP | |||
| ) | [static] |
Definition at line 82 of file abyss_server.c.
References FALSE, NULL, TRUE, xmlrpc_asprintf(), and xmlrpc_streq().
Referenced by ServerDirectoryHandler().
| static void fileDate | ( | TSession *const | sessionP, | |
| time_t const | statFilemodTime, | |||
| TDate *const | fileDateP | |||
| ) | [static] |
Definition at line 312 of file abyss_server.c.
References TSession::date, DateCompare(), and DateFromLocal().
Referenced by ServerDirectoryHandler(), and ServerFileHandler().
| static void freeFinishedConns | ( | outstandingConnList *const | listP | ) | [static] |
Definition at line 1273 of file abyss_server.c.
References ConnWaitAndRelease(), outstandingConnList::count, _TConn::finished, outstandingConnList::firstP, _TConn::nextOutstandingP, _TConn::threadP, and ThreadUpdateStatus().
Referenced by serverRun2(), waitForConnectionCapacity(), and waitForNoConnections().
| static void generateListing | ( | TList *const | listP, | |
| char *const | z, | |||
| const char *const | uri, | |||
| TPool *const | poolP, | |||
| const char **const | errorP, | |||
| uint16_t *const | responseStatusP | |||
| ) | [static] |
Definition at line 117 of file abyss_server.c.
References FileFindClose(), FileFindFirst(), FileFindNext(), ListAdd(), ListFree(), ListInit(), finddata_t::name, NULL, PoolAlloc(), ResponseStatusFromErrno(), xmlrpc_asprintf(), and xmlrpc_streq().
Referenced by ServerDirectoryHandler().
| static void initSocketStuff | ( | struct _TServer *const | srvP, | |
| abyss_bool const | noAccept, | |||
| TSocket *const | userSocketP, | |||
| uint16_t const | port, | |||
| const char **const | errorP | |||
| ) | [static] |
Definition at line 693 of file abyss_server.c.
References FALSE, _TServer::listenSocketP, NULL, _TServer::port, _TServer::serverAcceptsConnections, _TServer::socketBound, TRUE, and _TServer::weCreatedListenSocket.
Referenced by createServer().
| static void initUnixStuff | ( | struct _TServer *const | srvP | ) | [static] |
Definition at line 647 of file abyss_server.c.
References _TServer::gid, _TServer::pidfile, and _TServer::uid.
Referenced by createServer().
| static void logClose | ( | struct _TServer *const | srvP | ) | [static] |
Definition at line 681 of file abyss_server.c.
References FALSE, FileClose(), _TServer::logfile, _TServer::logfileisopen, _TServer::logmutex, and MutexFree().
Referenced by ServerFree().
| static abyss_bool logOpen | ( | struct _TServer *const | srvP | ) | [static] |
Definition at line 656 of file abyss_server.c.
References FileClose(), FileOpenCreate(), _TServer::logfile, _TServer::logfileisopen, _TServer::logfilename, _TServer::logmutex, MutexCreate(), TraceMsg(), and TRUE.
Referenced by LogWrite().
| void LogWrite | ( | TServer *const | serverP, | |
| const char *const | msg | |||
| ) |
Definition at line 1744 of file abyss_server.c.
References FileWrite(), _TServer::logfile, _TServer::logfileisopen, _TServer::logfilename, _TServer::logmutex, logOpen(), MutexLock(), and MutexUnlock().
| static void processDataFromClient | ( | TConn *const | connectionP, | |
| abyss_bool const | lastReqOnConn, | |||
| abyss_bool *const | keepAliveP | |||
| ) | [static] |
Definition at line 1062 of file abyss_server.c.
References HTTPKeepalive(), HTTPWriteEndChunk(), RequestFree(), RequestInit(), RequestRead(), RequestValidURI(), ResponseError(), ResponseStatus(), runUserHandler(), _TConn::server, SessionLog(), and TSession::status.
Referenced by serverFunc().
Definition at line 1038 of file abyss_server.c.
References _TServer::defaulthandler, FALSE, _TServer::handlers, TList::item, and TList::size.
Referenced by processDataFromClient().
| static void sendBody | ( | TSession *const | sessionP, | |
| TFile *const | fileP, | |||
| uint64_t const | filesize, | |||
| const char *const | mediatype, | |||
| uint64_t const | start0, | |||
| uint64_t const | end0, | |||
| char *const | z | |||
| ) | [static] |
Definition at line 412 of file abyss_server.c.
References BOUNDARY, TSession::conn, ConnWrite(), ConnWriteFromFile(), CRLF, TList::item, RangeDecode(), TSession::ranges, and TList::size.
Referenced by ServerFileHandler().
| static void sendDirectoryDocument | ( | TList *const | listP, | |
| abyss_bool const | ascending, | |||
| uint16_t const | sort, | |||
| abyss_bool const | text, | |||
| const char *const | uri, | |||
| MIMEType *const | mimeTypeP, | |||
| TSession *const | sessionP, | |||
| char *const | z | |||
| ) | [static] |
Definition at line 168 of file abyss_server.c.
References A_SUBDIR, cmpfiledates(), cmpfilenames(), CRLF, HTTPWriteBodyChunk(), TList::item, MIMETypeFromFileName2(), SERVER_HTML_INFO, SERVER_PLAIN_INFO, TList::size, and xmlrpc_streq().
Referenced by ServerDirectoryHandler().
| abyss_bool ServerAddHandler | ( | TServer *const | serverP, | |
| URIHandler const | function | |||
| ) |
Definition at line 1712 of file abyss_server.c.
References createHandler(), FALSE, TServer::handlers, ListAdd(), and NULL.
Referenced by xmlrpc_process().
| void ServerAddHandler2 | ( | TServer *const | serverP, | |
| URIHandler2 *const | handlerArgP, | |||
| abyss_bool *const | successP | |||
| ) |
Definition at line 1666 of file abyss_server.c.
References FALSE, TServer::handlers, ListAdd(), MALLOCVAR, NULL, and TRUE.
Referenced by setHandler().
| abyss_bool ServerCreate | ( | TServer *const | serverP, | |
| const char *const | name, | |||
| uint16_t const | portNumber, | |||
| const char *const | filesPath, | |||
| const char *const | logFileName | |||
| ) |
Definition at line 791 of file abyss_server.c.
References createServer(), FALSE, NULL, setNamePathLog(), TraceMsg(), TRUE, and xmlrpc_strfree().
| abyss_bool ServerCreateNoAccept | ( | TServer *const | serverP, | |
| const char *const | name, | |||
| const char *const | filesPath, | |||
| const char *const | logFileName | |||
| ) |
Definition at line 869 of file abyss_server.c.
References createServer(), FALSE, NULL, setNamePathLog(), TraceMsg(), TRUE, and xmlrpc_strfree().
| abyss_bool ServerCreateSocket | ( | TServer *const | serverP, | |
| const char *const | name, | |||
| TOsSocket const | socketFd, | |||
| const char *const | filesPath, | |||
| const char *const | logFileName | |||
| ) |
Definition at line 833 of file abyss_server.c.
References createServer(), createSocketFromOsSocket(), FALSE, setNamePathLog(), TraceMsg(), TRUE, and xmlrpc_strfree().
| void ServerCreateSocket2 | ( | TServer *const | serverP, | |
| TSocket *const | socketP, | |||
| const char **const | errorP | |||
| ) |
Definition at line 896 of file abyss_server.c.
References createServer(), and FALSE.
Referenced by createServerBoundSocket().
| void ServerDaemonize | ( | TServer *const | serverP | ) |
Definition at line 1608 of file abyss_server.c.
References FileClose(), FileWrite(), _TServer::gid, _TServer::pidfile, setGroups(), TraceExit(), and _TServer::uid.
Referenced by runServerDaemon().
| void ServerDefaultHandler | ( | TServer *const | serverP, | |
| URIHandler const | handler | |||
| ) |
Definition at line 1734 of file abyss_server.c.
References TServer::defaulthandler, and ServerDefaultHandlerFunc().
Referenced by setHandlers(), and xmlrpc_process().
| static abyss_bool ServerDefaultHandlerFunc | ( | TSession *const | sessionP | ) | [static] |
Definition at line 548 of file abyss_server.c.
References TSession::conn, ConnServer(), _TServer::defaultfilenames, DIRECTORY_SEPARATOR, FALSE, _TServer::filespath, FileStat(), TList::item, m_get, m_head, m_options, TSession::method, _TServer::mimeTypeP, RequestValidURIPath(), ResponseAddField(), ResponseContentLength(), ResponseStatus(), ResponseStatusErrno(), ResponseWrite(), ServerDirectoryHandler(), ServerFileHandler(), TList::size, TRUE, and TSession::uri.
Referenced by createServer(), and ServerDefaultHandler().
| static abyss_bool ServerDirectoryHandler | ( | TSession *const | r, | |
| char *const | z, | |||
| time_t const | fileModTime, | |||
| MIMEType *const | mimeTypeP | |||
| ) | [static] |
Definition at line 333 of file abyss_server.c.
References DateCompare(), DateDecode(), DateToString(), determineSortType(), fileDate(), generateListing(), HTTPWriteEndChunk(), ListFree(), m_head, TSession::method, pool, PoolCreate(), PoolFree(), TSession::query, RequestHeaderValue(), ResponseAddField(), ResponseChunked(), ResponseContentType(), ResponseStatus(), ResponseWrite(), sendDirectoryDocument(), TRUE, TSession::uri, and xmlrpc_strfree().
Referenced by ServerDefaultHandlerFunc().
| static abyss_bool ServerFileHandler | ( | TSession *const | r, | |
| char *const | z, | |||
| time_t const | fileModTime, | |||
| MIMEType *const | mimeTypeP | |||
| ) | [static] |
Definition at line 462 of file abyss_server.c.
References BOUNDARY, DateCompare(), DateDecode(), DateToString(), file, FileClose(), fileDate(), FileOpen(), FileSize(), TList::item, ListFree(), m_head, TSession::method, MIMETypeGuessFromFile2(), O_BINARY, RangeDecode(), TSession::ranges, RequestHeaderValue(), ResponseAddField(), ResponseContentLength(), ResponseContentType(), ResponseStatus(), ResponseStatusErrno(), ResponseWrite(), sendBody(), TList::size, and TRUE.
Referenced by ServerDefaultHandlerFunc().
| void ServerFree | ( | TServer *const | serverP | ) |
Definition at line 929 of file abyss_server.c.
References _TServer::defaultfilenames, _TServer::filespath, _TServer::handlers, _TServer::listenSocketP, ListFree(), logClose(), _TServer::logfilename, _TServer::name, SocketDestroy(), terminateHandlers(), _TServer::weCreatedListenSocket, and xmlrpc_strfree().
Referenced by normalLevelAbyssRun(), and oldHighLevelAbyssRun().
| static void serverFunc | ( | void *const | userHandle | ) | [static] |
Definition at line 1099 of file abyss_server.c.
References ConnRead(), ConnReadInit(), FALSE, _TServer::keepalivemaxconn, _TServer::keepalivetimeout, processDataFromClient(), _TConn::server, and TRUE.
| void ServerHandleSigchld | ( | pid_t const | pid | ) |
Definition at line 1353 of file abyss_server.c.
References ThreadHandleSigchld().
Referenced by sigchld(), and xmlrpc_sigchld().
| void ServerInit | ( | TServer *const | serverP | ) |
Definition at line 1181 of file abyss_server.c.
References createAndBindSocket(), FALSE, _TServer::listenSocketP, MAX_CONN, _TServer::serverAcceptsConnections, _TServer::socketBound, SocketListen(), and TraceMsg().
Referenced by normalLevelAbyssRun(), oldHighLevelAbyssRun(), xmlrpc_process(), and xmlrpc_server_abyss_init().
| void ServerResetTerminate | ( | TServer *const | serverP | ) |
| void ServerRun | ( | TServer *const | serverP | ) |
Definition at line 1445 of file abyss_server.c.
References serverRun2(), _TServer::socketBound, and TraceMsg().
Referenced by normalLevelAbyssRun(), runServerDaemon(), and xmlrpc_process().
| static void serverRun2 | ( | TServer *const | serverP | ) | [static] |
Definition at line 1393 of file abyss_server.c.
References addToOutstandingConnList(), ConnCreate(), ConnProcess(), createOutstandingConnList(), destroyConnSocket(), destroyOutstandingConnList(), freeFinishedConns(), _TServer::listenSocketP, serverFunc, SocketAccept(), SocketDestroy(), SocketError(), _TServer::terminationRequested, TraceMsg(), _TServer::useSigchld, waitForConnectionCapacity(), waitForNoConnections(), and xmlrpc_strfree().
Referenced by ServerRun().
| void ServerRunConn | ( | TServer *const | serverP, | |
| TOsSocket const | connectedOsSocket | |||
| ) |
Definition at line 1518 of file abyss_server.c.
References createSocketFromOsSocket(), ServerRunConn2(), SocketDestroy(), TraceExit(), and xmlrpc_strfree().
Definition at line 1460 of file abyss_server.c.
References ConnCreate(), ConnProcess(), ConnWaitAndRelease(), _TServer::keepalivemaxconn, NULL, serverFunc, TraceMsg(), _TServer::useSigchld, and xmlrpc_strfree().
Referenced by ServerRunConn2(), and ServerRunOnce().
| void ServerRunConn2 | ( | TServer *const | serverP, | |
| TSocket *const | connectedSocketP, | |||
| const char **const | errorP | |||
| ) |
Definition at line 1493 of file abyss_server.c.
References NULL, _TServer::serverAcceptsConnections, serverRunConn(), and xmlrpc_asprintf().
Referenced by ServerRunConn().
| void ServerRunOnce | ( | TServer *const | serverP | ) |
Definition at line 1542 of file abyss_server.c.
References _TServer::keepalivemaxconn, _TServer::listenSocketP, serverRunConn(), SocketAccept(), _TServer::socketBound, SocketDestroy(), SocketError(), and TraceMsg().
Referenced by ServerRunOnce2().
| void ServerRunOnce2 | ( | TServer *const | serverP, | |
| enum abyss_foreback const foregroundBackground | ATTR_UNUSED | |||
| ) |
| void ServerSetAdvertise | ( | TServer *const | serverP, | |
| abyss_bool const | advertise | |||
| ) |
Definition at line 1020 of file abyss_server.c.
References TServer::advertise.
Referenced by setAdditionalServerParms().
| void ServerSetFilesPath | ( | TServer *const | serverP, | |
| const char *const | filesPath | |||
| ) |
Definition at line 968 of file abyss_server.c.
References TServer::filespath, and xmlrpc_strfree().
Referenced by setNamePathLog().
| void ServerSetKeepaliveMaxConn | ( | TServer *const | serverP, | |
| uint32_t const | keepaliveMaxConn | |||
| ) |
Definition at line 1002 of file abyss_server.c.
References TServer::keepalivemaxconn.
Referenced by setAdditionalServerParms().
| void ServerSetKeepaliveTimeout | ( | TServer *const | serverP, | |
| uint32_t const | keepaliveTimeout | |||
| ) |
Definition at line 993 of file abyss_server.c.
References TServer::keepalivetimeout.
Referenced by setAdditionalServerParms().
| void ServerSetLogFileName | ( | TServer *const | serverP, | |
| const char *const | logFileName | |||
| ) |
Definition at line 979 of file abyss_server.c.
References _TServer::logfilename, and xmlrpc_strfree().
Referenced by createServerBoundSocket(), and setNamePathLog().
Definition at line 1029 of file abyss_server.c.
| void ServerSetName | ( | TServer *const | serverP, | |
| const char *const | name | |||
| ) |
Definition at line 957 of file abyss_server.c.
References TServer::name, and xmlrpc_strfree().
Referenced by createServerBoundSocket(), and setNamePathLog().
| void ServerSetTimeout | ( | TServer *const | serverP, | |
| uint32_t const | timeout | |||
| ) |
Definition at line 1011 of file abyss_server.c.
References TServer::timeout.
Referenced by setAdditionalServerParms().
| void ServerTerminate | ( | TServer *const | serverP | ) |
Definition at line 38 of file abyss_server.c.
References _TServer::terminationRequested.
Referenced by shutdownAbyss().
| void ServerUseSigchld | ( | TServer *const | serverP | ) |
Definition at line 1362 of file abyss_server.c.
References TRUE, and _TServer::useSigchld.
Referenced by normalLevelAbyssRun(), and runServerDaemon().
| static void setGroups | ( | void | ) | [static] |
Definition at line 1597 of file abyss_server.c.
References NULL, and TraceExit().
Referenced by ServerDaemonize().
| static void setNamePathLog | ( | TServer *const | serverP, | |
| const char *const | name, | |||
| const char *const | filesPath, | |||
| const char *const | logFileName | |||
| ) | [static] |
Definition at line 769 of file abyss_server.c.
References ServerSetFilesPath(), ServerSetLogFileName(), and ServerSetName().
Referenced by ServerCreate(), ServerCreateNoAccept(), and ServerCreateSocket().
| static void terminateHandlers | ( | TList *const | handlersP | ) | [static] |
Definition at line 910 of file abyss_server.c.
References TList::item, and TList::size.
Referenced by ServerFree().
| static void waitForConnectionCapacity | ( | outstandingConnList *const | outstandingConnListP | ) | [static] |
Definition at line 1337 of file abyss_server.c.
References outstandingConnList::count, outstandingConnList::firstP, freeFinishedConns(), MAX_CONN, and waitForConnectionFreed().
Referenced by serverRun2().
| static void waitForConnectionFreed | ( | outstandingConnList *const outstandingConnListP | ATTR_UNUSED | ) | [static] |
Definition at line 1304 of file abyss_server.c.
References xmlrpc_millisecond_sleep().
Referenced by waitForConnectionCapacity(), and waitForNoConnections().
| static void waitForNoConnections | ( | outstandingConnList *const | outstandingConnListP | ) | [static] |
Definition at line 1324 of file abyss_server.c.
References outstandingConnList::firstP, freeFinishedConns(), and waitForConnectionFreed().
Referenced by serverRun2().
Definition at line 1371 of file abyss_server.c.
TThreadProc serverFunc [static] |
1.5.6