| 2395 | } |
| 2396 | |
| 2397 | void freeClusterManagerNode(clusterManagerNode *node) { |
| 2398 | if (node->context != NULL) redisFree(node->context); |
| 2399 | if (node->friends != NULL) { |
| 2400 | listIter li; |
| 2401 | listNode *ln; |
| 2402 | listRewind(node->friends,&li); |
| 2403 | while ((ln = listNext(&li)) != NULL) { |
| 2404 | clusterManagerNode *fn = ln->value; |
| 2405 | freeClusterManagerNode(fn); |
| 2406 | } |
| 2407 | listRelease(node->friends); |
| 2408 | node->friends = NULL; |
| 2409 | } |
| 2410 | if (node->name != NULL) sdsfree(node->name); |
| 2411 | if (node->replicate != NULL) sdsfree(node->replicate); |
| 2412 | if ((node->flags & CLUSTER_MANAGER_FLAG_FRIEND) && node->ip) |
| 2413 | sdsfree(node->ip); |
| 2414 | int i; |
| 2415 | if (node->migrating != NULL) { |
| 2416 | for (i = 0; i < node->migrating_count; i++) sdsfree(node->migrating[i]); |
| 2417 | zfree(node->migrating); |
| 2418 | } |
| 2419 | if (node->importing != NULL) { |
| 2420 | for (i = 0; i < node->importing_count; i++) sdsfree(node->importing[i]); |
| 2421 | zfree(node->importing); |
| 2422 | } |
| 2423 | if (node->flags_str != NULL) { |
| 2424 | freeClusterManagerNodeFlags(node->flags_str); |
| 2425 | node->flags_str = NULL; |
| 2426 | } |
| 2427 | zfree(node); |
| 2428 | } |
| 2429 | |
| 2430 | void freeClusterManager(void); |
| 2431 |
no test coverage detected