MCPcopy Create free account
hub / github.com/Tencent/phxsql / phxsqlproxymain

Function phxsqlproxymain

phxsqlproxy/phxsqlproxymain.cpp:146–179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144}
145
146int phxsqlproxymain(int argc, char *argv[], PHXSqlProxyConfig * config) {
147 if (argc < 2) {
148 printf("Usage %s <config>\n", argv[0]);
149 exit(-1);
150 }
151
152 SignalHandler();
153
154 if (argc == 3 && strcmp(argv[2], "daemon") == 0) {
155 pid_t pid = fork();
156 if (pid > 0) {
157 exit(0);
158 } else if (pid < 0) {
159 LogError("fork fail");
160 exit(-1);
161 }
162 }
163
164 int ret = 0;
165 if ((ret = StartWorker<MasterIORoutine>(config, config->GetMasterWorkerConfig())) != 0) {
166 LogError("Start master worker failed, ret %d", ret);
167 printf("Start master worker failed, ret %d", ret);
168 exit(-1);
169 }
170 printf("start master worker finished ...\n");
171
172 if ((ret = StartWorker<SlaveIORoutine>(config, config->GetSlaveWorkerConfig())) != 0) {
173 LogError("Start slave worker failed, ret %d", ret);
174 printf("Start slave worker failed, ret %d", ret);
175 exit(-1);
176 }
177 printf("start slave worker finished ...\n");
178 return 0;
179}

Callers 1

mainFunction · 0.85

Calls 4

LogErrorFunction · 0.85
GetMasterWorkerConfigMethod · 0.80
GetSlaveWorkerConfigMethod · 0.80
SignalHandlerFunction · 0.70

Tested by

no test coverage detected