- if (server.bindaddr == NULL || inet_aton(server.bindaddr,NULL)) {
- /* Either no address given, or it can be correctly parsed. */
- server.fd = anetTcpServer(server.neterr, server.port, server.bindaddr);
- } else {
- /* Bind to a socket */
- unlink(server.bindaddr); /* don't care if this fails */
- server.fd = anetUnixServer(server.neterr,server.bindaddr);
+ if (server.port > 0) {
+ server.ipfd = anetTcpServer(server.neterr,server.port,server.bindaddr);
+ if (server.ipfd == ANET_ERR) {
+ redisLog(REDIS_WARNING, "Opening port: %s", server.neterr);
+ exit(1);
+ }
+ }
+ if (server.sockpath != NULL) {
+ unlink(server.sockpath); /* don't care if this fails */
+ server.sofd = anetUnixServer(server.neterr,server.sockpath);
+ if (server.sofd == ANET_ERR) {
+ redisLog(REDIS_WARNING, "Opening socket: %s", server.neterr);
+ exit(1);
+ }