@ -801,7 +801,16 @@ __ast_channel_alloc_ap(int needqueue, int state, const char *cid_num, const char
ast_channel_stage_snapshot ( tmp ) ;
if ( ! ( nativeformats = ast_format_cap_alloc ( AST_FORMAT_CAP_FLAG_DEFAULT ) ) ) {
/*
* Init file descriptors to unopened state so
* the destructor can know not to close them .
*/
ast_channel_timingfd_set ( tmp , - 1 ) ;
ast_channel_internal_alertpipe_clear ( tmp ) ;
ast_channel_internal_fd_clear_all ( tmp ) ;
nativeformats = ast_format_cap_alloc ( AST_FORMAT_CAP_FLAG_DEFAULT ) ;
if ( ! nativeformats ) {
/*
* Aborting the channel creation . We do not need to complete staging
* the channel snapshot because the channel has not been finalized or
@ -819,14 +828,6 @@ __ast_channel_alloc_ap(int needqueue, int state, const char *cid_num, const char
ast_channel_set_writeformat ( tmp , ast_format_none ) ;
ast_channel_set_readformat ( tmp , ast_format_none ) ;
/*
* Init file descriptors to unopened state so
* the destructor can know not to close them .
*/
ast_channel_timingfd_set ( tmp , - 1 ) ;
ast_channel_internal_alertpipe_clear ( tmp ) ;
ast_channel_internal_fd_clear_all ( tmp ) ;
if ( ! ( schedctx = ast_sched_context_create ( ) ) ) {
ast_log ( LOG_WARNING , " Channel allocation failed: Unable to create schedule context \n " ) ;
/* See earlier channel creation abort comment above. */