freetdm: stop just once

This commit is contained in:
Moises Silva 2010-05-25 16:06:42 -04:00
parent ba829f9842
commit ab88afafb8
2 changed files with 8 additions and 7 deletions

View File

@ -414,9 +414,7 @@ static ftdm_status_t ftdm_span_destroy(ftdm_span_t *span)
ftdm_mutex_lock(span->mutex);
/* stop the signaling */
if (span->stop) {
status = span->stop(span);
}
ftdm_span_stop(span);
/* destroy the channels */
ftdm_clear_flag(span, FTDM_SPAN_CONFIGURED);
@ -514,12 +512,12 @@ static void ftdm_span_add(ftdm_span_t *span)
FT_DECLARE(ftdm_status_t) ftdm_span_stop(ftdm_span_t *span)
{
ftdm_status_t status = FTDM_FAIL;
if (span->stop) {
span->stop(span);
return FTDM_SUCCESS;
status = span->stop(span);
span->stop = NULL;
}
return FTDM_FAIL;
return status;
}
FT_DECLARE(ftdm_status_t) ftdm_span_create(const char *iotype, const char *name, ftdm_span_t **span)

View File

@ -1125,6 +1125,9 @@ FT_DECLARE(ftdm_status_t) ftdm_span_start(ftdm_span_t *span);
/*!
* \brief Stop the span signaling (must call ftdm_span_start first)
* \note certain signalings (boost signaling) does not support granular span start/stop
* so it is recommended to always configure all spans and then starting them all and finally
* stop them all (or call ftdm_global_destroy which takes care of stopping and destroying the spans at once).
*
* \param span The span to stop
*