• Stefan Knoblich's avatar
    FreeTDM: Add span start/stop callbacks to ftdm_io_interface. · c1f4e7f7
    Stefan Knoblich 提交于
    Callbacks are invoked from ftdm_span_start/_stop().
    I/O is started before SIG and shut down in reverse order.
    
    This is needed for ftmod_misdn, to move the mISDN message handling
    into a separate thread (solving the mISDN socket vs. FreeTDM API issues).
    
    With these callbacks, the I/O thread can be started after the span I/O configuration
    has been (successfully) completed and stopped before destroying the span.
    
    NOTE: Both SIG and I/O callbacks are called with the span mutex locked,
    so threads created or destroyed synchronously in either of the custom
    start/stop functions, can not use ftdm_span_*() functions that lock
    the span mutex (e.g. ftdm_span_get_channel_count()).
    Signed-off-by: 's avatarStefan Knoblich <stkn@openisdn.net>
    c1f4e7f7
ftdm_io.c 187.1 KB