MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / initNetworking

Function initNetworking

src/server.cpp:3843–3869  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3841}
3842
3843static void initNetworking(int fReusePort)
3844{
3845 // We only initialize the main thread here, since RDB load is a special case that processes
3846 // clients before our server threads are launched.
3847 initNetworkingThread(IDX_EVENT_LOOP_MAIN, fReusePort);
3848
3849 /* Open the listening Unix domain socket. */
3850 if (g_pserver->unixsocket != NULL) {
3851 unlink(g_pserver->unixsocket); /* don't care if this fails */
3852 g_pserver->sofd = anetUnixServer(serverTL->neterr,g_pserver->unixsocket,
3853 g_pserver->unixsocketperm, g_pserver->tcp_backlog);
3854 if (g_pserver->sofd == ANET_ERR) {
3855 serverLog(LL_WARNING, "Opening Unix socket: %s", serverTL->neterr);
3856 exit(1);
3857 }
3858 anetNonBlock(NULL,g_pserver->sofd);
3859 }
3860
3861 /* Abort if there are no listening sockets at all. */
3862 if (g_pserver->rgthreadvar[IDX_EVENT_LOOP_MAIN].ipfd.count == 0 && g_pserver->rgthreadvar[IDX_EVENT_LOOP_MAIN].tlsfd.count == 0 && g_pserver->sofd < 0) {
3863 serverLog(LL_WARNING, "Configured to not listen anywhere, exiting.");
3864 exit(1);
3865 }
3866
3867 if (g_pserver->sofd > 0 && aeCreateFileEvent(g_pserver->rgthreadvar[IDX_EVENT_LOOP_MAIN].el,g_pserver->sofd,AE_READABLE|AE_READ_THREADSAFE,
3868 acceptUnixHandler,NULL) == AE_ERR) serverPanic("Unrecoverable error creating g_pserver->sofd file event.");
3869}
3870
3871static void initServerThread(struct redisServerThreadVars *pvar, int fMain)
3872{

Callers 1

mainFunction · 0.85

Calls 5

initNetworkingThreadFunction · 0.85
anetUnixServerFunction · 0.85
serverLogFunction · 0.85
anetNonBlockFunction · 0.85
aeCreateFileEventFunction · 0.85

Tested by

no test coverage detected