Merge "test_sorcery_memory_cache_thrash: Add unit tests for thrashing the memory...
authorMatt Jordan <mjordan@digium.com>
Fri, 5 Jun 2015 23:04:24 +0000 (18:04 -0500)
committerGerrit Code Review <gerrit2@gerrit.digium.api>
Fri, 5 Jun 2015 23:04:25 +0000 (18:04 -0500)
Makefile
codecs/gsm/Makefile
main/.gitignore
main/Makefile
main/cli.c
res/res_pjsip/pjsip_options.c
res/res_sorcery_memory_cache.c
utils/.gitignore

index 7157107..f6a3d1f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -260,10 +260,10 @@ MOD_SUBDIRS_MENUSELECT_TREE:=$(MOD_SUBDIRS:%=%-menuselect-tree)
 
 ifneq ($(findstring darwin,$(OSARCH)),)
   _ASTCFLAGS+=-D__Darwin__ -mmacosx-version-min=10.6
-  _SOLINK=-mmacosx-version-min=10.6 -Xlinker -undefined -Xlinker dynamic_lookup
+  _SOLINK=-mmacosx-version-min=10.6 -Wl,-undefined,dynamic_lookup
   _SOLINK+=/usr/lib/bundle1.o
   SOLINK=-bundle $(_SOLINK)
-  DYLINK=-Xlinker -dylib $(_SOLINK)
+  DYLINK=-Wl,-dylib $(_SOLINK)
   _ASTLDFLAGS+=-L/usr/local/lib
 else
 # These are used for all but Darwin
index a072e6d..06f0829 100644 (file)
@@ -315,7 +315,7 @@ install:    toastinstall gsminstall
 # The basic API: libgsm
 
 $(LIBGSMSO):   $(LIB) $(GSM_OBJECTS)
-               $(LD) -o $@.1.0.10 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc
+               $(LD) -o $@.1.0.10 -shared -Wl,-soname,libgsm.so.1 $(GSM_OBJECTS) -lc
                ln -fs libgsm.so.1.0.10 lib/libgsm.so.1
                ln -fs libgsm.so.1.0.10 lib/libgsm.so
 
index 23f5c58..3ff4656 100644 (file)
@@ -1,3 +1,4 @@
 asterisk
 libasteriskssl.so.1
+libasteriskssl.dylib
 version.c
index 08496e6..bfdfb46 100644 (file)
@@ -60,7 +60,7 @@ endif
 
 ifneq ($(findstring darwin,$(OSARCH)),)
   AST_LIBS+=-lresolv
-  ASTLINK=-mmacosx-version-min=10.6 -Xlinker -undefined -Xlinker dynamic_lookup -force_flat_namespace
+  ASTLINK=-mmacosx-version-min=10.6 -Wl,-undefined,dynamic_lookup -force_flat_namespace
   ASTLINK+=/usr/lib/bundle1.o
 else
 # These are used for all but Darwin
index eb8800f..e59a856 100644 (file)
@@ -802,7 +802,7 @@ static void print_uptimestr(int fd, struct timeval timeval, const char *prefix,
 #define DAY (HOUR*24)
 #define WEEK (DAY*7)
 #define YEAR (DAY*365)
-#define NEEDCOMMA(x) ((x)? ",": "")    /* define if we need a comma */
+#define NEEDCOMMA(x) ((x) ? ", " : "") /* define if we need a comma */
        if (timeval.tv_sec < 0) /* invalid, nothing to show */
                return;
 
@@ -814,31 +814,33 @@ static void print_uptimestr(int fd, struct timeval timeval, const char *prefix,
        if (timeval.tv_sec > YEAR) {
                x = (timeval.tv_sec / YEAR);
                timeval.tv_sec -= (x * YEAR);
-               ast_str_append(&out, 0, "%d year%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec));
+               ast_str_append(&out, 0, "%d year%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec));
        }
        if (timeval.tv_sec > WEEK) {
                x = (timeval.tv_sec / WEEK);
                timeval.tv_sec -= (x * WEEK);
-               ast_str_append(&out, 0, "%d week%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec));
+               ast_str_append(&out, 0, "%d week%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec));
        }
        if (timeval.tv_sec > DAY) {
                x = (timeval.tv_sec / DAY);
                timeval.tv_sec -= (x * DAY);
-               ast_str_append(&out, 0, "%d day%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec));
+               ast_str_append(&out, 0, "%d day%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec));
        }
        if (timeval.tv_sec > HOUR) {
                x = (timeval.tv_sec / HOUR);
                timeval.tv_sec -= (x * HOUR);
-               ast_str_append(&out, 0, "%d hour%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec));
+               ast_str_append(&out, 0, "%d hour%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec));
        }
        if (timeval.tv_sec > MINUTE) {
                x = (timeval.tv_sec / MINUTE);
                timeval.tv_sec -= (x * MINUTE);
-               ast_str_append(&out, 0, "%d minute%s%s ", x, ESS(x),NEEDCOMMA(timeval.tv_sec));
+               ast_str_append(&out, 0, "%d minute%s%s", x, ESS(x), NEEDCOMMA(timeval.tv_sec));
        }
        x = timeval.tv_sec;
-       if (x > 0 || ast_str_strlen(out) == 0)  /* if there is nothing, print 0 seconds */
-               ast_str_append(&out, 0, "%d second%s ", x, ESS(x));
+       if (x > 0 || ast_str_strlen(out) == 0) {
+               /* if there is nothing, print 0 seconds */
+               ast_str_append(&out, 0, "%d second%s", x, ESS(x));
+       }
        ast_cli(fd, "%s: %s\n", prefix, ast_str_buffer(out));
 }
 
index e3e8f18..df37496 100644 (file)
@@ -974,7 +974,7 @@ static int rtt_start_to_str(const void *obj, const intptr_t *args, char **buf)
 {
        const struct ast_sip_contact_status *status = obj;
 
-       if (ast_asprintf(buf, "%ld.%06ld", status->rtt_start.tv_sec, status->rtt_start.tv_usec) == -1) {
+       if (ast_asprintf(buf, "%ld.%06ld", (long)status->rtt_start.tv_sec, (long)status->rtt_start.tv_usec) == -1) {
                return -1;
        }
 
index 451d230..26df12a 100644 (file)
@@ -896,6 +896,15 @@ static void sorcery_memory_cache_load(void *data, const struct ast_sorcery *sorc
  */
 static void sorcery_memory_cache_reload(void *data, const struct ast_sorcery *sorcery, const char *type)
 {
+       struct sorcery_memory_cache *cache = data;
+
+       if (!cache->expire_on_reload) {
+               return;
+       }
+
+       ao2_wrlock(cache->objects);
+       remove_all_from_cache(cache);
+       ao2_unlock(cache->objects);
 }
 
 /*!
index ed37a06..8e95c8d 100644 (file)
@@ -9,6 +9,7 @@ astdb2bdb
 astdb2sqlite3
 check_expr
 check_expr2
+check_expr2.dSYM/
 conf2ael
 db1-ast/libdb1.a
 hashtab.c