MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / cleanup_rtpengine_versions

Function cleanup_rtpengine_versions

modules/rtpengine/rtpengine.c:940–972  ·  view source on GitHub ↗

frees any versions from list that have been applied by all processes */

Source from the content-addressed store, hash-verified

938 all processes
939*/
940static void cleanup_rtpengine_versions(void)
941{
942 int i, min_version=0;
943 struct rtpe_version *crt_version, *prev_version;
944
945 if (*rtpe_versions == NULL || (*rtpe_versions)->version_count == 0)
946 return; // nothing to do
947
948 for (i=0; i<*child_versions_no; i++) {
949 if (!min_version || child_versions[i] < min_version)
950 min_version = child_versions[i];
951 }
952
953 for (crt_version = (*rtpe_versions)->version_first; crt_version != NULL;) {
954 if (crt_version->version >= min_version)
955 break;
956 prev_version = crt_version;
957 crt_version = prev_version->version_next;
958
959 /* first version remove */
960 if ((*rtpe_versions)->version_first == prev_version)
961 (*rtpe_versions)->version_first = crt_version;
962
963 /* last version remove */
964 if ((*rtpe_versions)->version_last == prev_version)
965 (*rtpe_versions)->version_last = NULL;
966
967 shm_free(prev_version);
968 (*rtpe_versions)->version_count--;
969 }
970
971 return;
972}
973
974/* increments version and adds version to end of list */
975static int add_rtpengine_version(int flags)

Callers 1

mi_reload_rtpenginesFunction · 0.85

Calls 1

shm_freeFunction · 0.85

Tested by

no test coverage detected