Merge "stasis: Fix ABI between DEVMODE and non-DEVMODE."

This commit is contained in:
Friendly Automation
2019-01-03 17:39:22 -06:00
committed by Gerrit Code Review
6 changed files with 3 additions and 93 deletions

View File

@@ -604,14 +604,9 @@ void stasis_subscription_cb_noop(void *data, struct stasis_subscription *sub, st
* has been subscribed. This occurs immediately before accepted message * has been subscribed. This occurs immediately before accepted message
* types can be set and the callback must expect to receive it. * types can be set and the callback must expect to receive it.
*/ */
#ifdef AST_DEVMODE
struct stasis_subscription *__stasis_subscribe(struct stasis_topic *topic, struct stasis_subscription *__stasis_subscribe(struct stasis_topic *topic,
stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func); stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func);
#define stasis_subscribe(topic, callback, data) __stasis_subscribe(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__) #define stasis_subscribe(topic, callback, data) __stasis_subscribe(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__)
#else
struct stasis_subscription *stasis_subscribe(struct stasis_topic *topic,
stasis_subscription_cb callback, void *data);
#endif
/*! /*!
* \brief Create a subscription whose callbacks occur on a thread pool * \brief Create a subscription whose callbacks occur on a thread pool
@@ -639,14 +634,9 @@ struct stasis_subscription *stasis_subscribe(struct stasis_topic *topic,
* has been subscribed. This occurs immediately before accepted message * has been subscribed. This occurs immediately before accepted message
* types can be set and the callback must expect to receive it. * types can be set and the callback must expect to receive it.
*/ */
#ifdef AST_DEVMODE
struct stasis_subscription *__stasis_subscribe_pool(struct stasis_topic *topic, struct stasis_subscription *__stasis_subscribe_pool(struct stasis_topic *topic,
stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func); stasis_subscription_cb callback, void *data, const char *file, int lineno, const char *func);
#define stasis_subscribe_pool(topic, callback, data) __stasis_subscribe_pool(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__) #define stasis_subscribe_pool(topic, callback, data) __stasis_subscribe_pool(topic, callback, data, __FILE__, __LINE__, __PRETTY_FUNCTION__)
#else
struct stasis_subscription *stasis_subscribe_pool(struct stasis_topic *topic,
stasis_subscription_cb callback, void *data);
#endif
/*! /*!
* \brief Indicate to a subscription that we are interested in a message type. * \brief Indicate to a subscription that we are interested in a message type.

View File

@@ -60,7 +60,6 @@
* \return \c NULL on error. * \return \c NULL on error.
* \since 12 * \since 12
*/ */
#ifdef AST_DEVMODE
struct stasis_subscription *internal_stasis_subscribe( struct stasis_subscription *internal_stasis_subscribe(
struct stasis_topic *topic, struct stasis_topic *topic,
stasis_subscription_cb callback, stasis_subscription_cb callback,
@@ -70,13 +69,5 @@ struct stasis_subscription *internal_stasis_subscribe(
const char *file, const char *file,
int lineno, int lineno,
const char *func); const char *func);
#else
struct stasis_subscription *internal_stasis_subscribe(
struct stasis_topic *topic,
stasis_subscription_cb callback,
void *data,
int needs_mailbox,
int use_thread_pool);
#endif
#endif /* STASIS_INTERNAL_H_ */ #endif /* STASIS_INTERNAL_H_ */

View File

@@ -55,14 +55,9 @@ struct stasis_message_router;
* *
* \since 12 * \since 12
*/ */
#ifdef AST_DEVMODE
struct stasis_message_router *__stasis_message_router_create( struct stasis_message_router *__stasis_message_router_create(
struct stasis_topic *topic, const char *file, int lineno, const char *func); struct stasis_topic *topic, const char *file, int lineno, const char *func);
#define stasis_message_router_create(topic) __stasis_message_router_create(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__) #define stasis_message_router_create(topic) __stasis_message_router_create(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)
#else
struct stasis_message_router *stasis_message_router_create(
struct stasis_topic *topic);
#endif
/*! /*!
* \brief Create a new message router object. * \brief Create a new message router object.
@@ -77,14 +72,9 @@ struct stasis_message_router *stasis_message_router_create(
* *
* \since 12.8.0 * \since 12.8.0
*/ */
#ifdef AST_DEVMODE
struct stasis_message_router *__stasis_message_router_create_pool( struct stasis_message_router *__stasis_message_router_create_pool(
struct stasis_topic *topic, const char *file, int lineno, const char *func); struct stasis_topic *topic, const char *file, int lineno, const char *func);
#define stasis_message_router_create_pool(topic) __stasis_message_router_create_pool(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__) #define stasis_message_router_create_pool(topic) __stasis_message_router_create_pool(topic, __FILE__, __LINE__, __PRETTY_FUNCTION__)
#else
struct stasis_message_router *stasis_message_router_create_pool(
struct stasis_topic *topic);
#endif
/*! /*!
* \brief Unsubscribe the router from the upstream topic. * \brief Unsubscribe the router from the upstream topic.

View File

@@ -436,10 +436,11 @@ struct stasis_topic *stasis_topic_create(const char *name)
res |= AST_VECTOR_INIT(&topic->upstream_topics, 0); res |= AST_VECTOR_INIT(&topic->upstream_topics, 0);
#ifdef AST_DEVMODE #ifdef AST_DEVMODE
topic->statistics = stasis_topic_statistics_create(name); topic->statistics = stasis_topic_statistics_create(name);
if (!topic->name || !topic->statistics || res) { if (!topic->name || !topic->statistics || res)
#else #else
if (!topic->name || res) { if (!topic->name || res)
#endif #endif
{
ao2_ref(topic, -1); ao2_ref(topic, -1);
return NULL; return NULL;
} }
@@ -640,7 +641,6 @@ static struct stasis_subscription_statistics *stasis_subscription_statistics_cre
} }
#endif #endif
#ifdef AST_DEVMODE
struct stasis_subscription *internal_stasis_subscribe( struct stasis_subscription *internal_stasis_subscribe(
struct stasis_topic *topic, struct stasis_topic *topic,
stasis_subscription_cb callback, stasis_subscription_cb callback,
@@ -650,14 +650,6 @@ struct stasis_subscription *internal_stasis_subscribe(
const char *file, const char *file,
int lineno, int lineno,
const char *func) const char *func)
#else
struct stasis_subscription *internal_stasis_subscribe(
struct stasis_topic *topic,
stasis_subscription_cb callback,
void *data,
int needs_mailbox,
int use_thread_pool)
#endif
{ {
struct stasis_subscription *sub; struct stasis_subscription *sub;
@@ -728,7 +720,6 @@ struct stasis_subscription *internal_stasis_subscribe(
return sub; return sub;
} }
#ifdef AST_DEVMODE
struct stasis_subscription *__stasis_subscribe( struct stasis_subscription *__stasis_subscribe(
struct stasis_topic *topic, struct stasis_topic *topic,
stasis_subscription_cb callback, stasis_subscription_cb callback,
@@ -739,17 +730,7 @@ struct stasis_subscription *__stasis_subscribe(
{ {
return internal_stasis_subscribe(topic, callback, data, 1, 0, file, lineno, func); return internal_stasis_subscribe(topic, callback, data, 1, 0, file, lineno, func);
} }
#else
struct stasis_subscription *stasis_subscribe(
struct stasis_topic *topic,
stasis_subscription_cb callback,
void *data)
{
return internal_stasis_subscribe(topic, callback, data, 1, 0);
}
#endif
#ifdef AST_DEVMODE
struct stasis_subscription *__stasis_subscribe_pool( struct stasis_subscription *__stasis_subscribe_pool(
struct stasis_topic *topic, struct stasis_topic *topic,
stasis_subscription_cb callback, stasis_subscription_cb callback,
@@ -760,15 +741,6 @@ struct stasis_subscription *__stasis_subscribe_pool(
{ {
return internal_stasis_subscribe(topic, callback, data, 1, 1, file, lineno, func); return internal_stasis_subscribe(topic, callback, data, 1, 1, file, lineno, func);
} }
#else
struct stasis_subscription *stasis_subscribe_pool(
struct stasis_topic *topic,
stasis_subscription_cb callback,
void *data)
{
return internal_stasis_subscribe(topic, callback, data, 1, 1);
}
#endif
static int sub_cleanup(void *data) static int sub_cleanup(void *data)
{ {

View File

@@ -984,11 +984,7 @@ struct stasis_caching_topic *stasis_caching_topic_create(struct stasis_topic *or
} }
ast_free(new_name); ast_free(new_name);
#ifdef AST_DEVMODE
caching_topic->sub = internal_stasis_subscribe(original_topic, caching_topic_exec, caching_topic, 0, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__); caching_topic->sub = internal_stasis_subscribe(original_topic, caching_topic_exec, caching_topic, 0, 0, __FILE__, __LINE__, __PRETTY_FUNCTION__);
#else
caching_topic->sub = internal_stasis_subscribe(original_topic, caching_topic_exec, caching_topic, 0, 0);
#endif
if (caching_topic->sub == NULL) { if (caching_topic->sub == NULL) {
ao2_ref(caching_topic, -1); ao2_ref(caching_topic, -1);

View File

@@ -204,14 +204,9 @@ static void router_dispatch(void *data,
} }
} }
#ifdef AST_DEVMODE
static struct stasis_message_router *stasis_message_router_create_internal( static struct stasis_message_router *stasis_message_router_create_internal(
struct stasis_topic *topic, int use_thread_pool, const char *file, int lineno, struct stasis_topic *topic, int use_thread_pool, const char *file, int lineno,
const char *func) const char *func)
#else
static struct stasis_message_router *stasis_message_router_create_internal(
struct stasis_topic *topic, int use_thread_pool)
#endif
{ {
int res; int res;
struct stasis_message_router *router; struct stasis_message_router *router;
@@ -230,19 +225,11 @@ static struct stasis_message_router *stasis_message_router_create_internal(
return NULL; return NULL;
} }
#ifdef AST_DEVMODE
if (use_thread_pool) { if (use_thread_pool) {
router->subscription = __stasis_subscribe_pool(topic, router_dispatch, router, file, lineno, func); router->subscription = __stasis_subscribe_pool(topic, router_dispatch, router, file, lineno, func);
} else { } else {
router->subscription = __stasis_subscribe(topic, router_dispatch, router, file, lineno, func); router->subscription = __stasis_subscribe(topic, router_dispatch, router, file, lineno, func);
} }
#else
if (use_thread_pool) {
router->subscription = stasis_subscribe_pool(topic, router_dispatch, router);
} else {
router->subscription = stasis_subscribe(topic, router_dispatch, router);
}
#endif
if (!router->subscription) { if (!router->subscription) {
ao2_ref(router, -1); ao2_ref(router, -1);
@@ -256,33 +243,17 @@ static struct stasis_message_router *stasis_message_router_create_internal(
return router; return router;
} }
#ifdef AST_DEVMODE
struct stasis_message_router *__stasis_message_router_create( struct stasis_message_router *__stasis_message_router_create(
struct stasis_topic *topic, const char *file, int lineno, const char *func) struct stasis_topic *topic, const char *file, int lineno, const char *func)
{ {
return stasis_message_router_create_internal(topic, 0, file, lineno, func); return stasis_message_router_create_internal(topic, 0, file, lineno, func);
} }
#else
struct stasis_message_router *stasis_message_router_create(
struct stasis_topic *topic)
{
return stasis_message_router_create_internal(topic, 0);
}
#endif
#ifdef AST_DEVMODE
struct stasis_message_router *__stasis_message_router_create_pool( struct stasis_message_router *__stasis_message_router_create_pool(
struct stasis_topic *topic, const char *file, int lineno, const char *func) struct stasis_topic *topic, const char *file, int lineno, const char *func)
{ {
return stasis_message_router_create_internal(topic, 1, file, lineno, func); return stasis_message_router_create_internal(topic, 1, file, lineno, func);
} }
#else
struct stasis_message_router *stasis_message_router_create_pool(
struct stasis_topic *topic)
{
return stasis_message_router_create_internal(topic, 1);
}
#endif
void stasis_message_router_unsubscribe(struct stasis_message_router *router) void stasis_message_router_unsubscribe(struct stasis_message_router *router)
{ {