diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-09-14 22:38:25 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-09-14 22:38:25 +0000 |
commit | de5d26c34607ea59f2e8cdd2d10886dccbfe8fb3 (patch) | |
tree | a58030accd40e4143d3afa9b4506fff300213d67 /channels/sig_analog.h | |
parent | ef7b0cc05f3b625ae16f3935043c0faafc0b8742 (diff) |
Merged revisions 218401 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r218401 | jpeeler | 2009-09-14 16:47:11 -0500 (Mon, 14 Sep 2009) | 11 lines
Fix handling of DAHDI_EVENT_REMOVED event to prevent crash in do_monitor.
After talking to rmudgett about some of his recent iflist locking changes, it
was determined that the only place that would destroy a channel without being
explicitly to do so was in handle_init_event. The loop to walk the interface
list has been modified to wait to destroy the channel until the dahdi_pvt of
the channel to be destroyed is no longer needed.
(closes issue #15378)
Reported by: samy
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@218430 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/sig_analog.h')
-rw-r--r-- | channels/sig_analog.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/channels/sig_analog.h b/channels/sig_analog.h index 522012b26..de86662df 100644 --- a/channels/sig_analog.h +++ b/channels/sig_analog.h @@ -78,6 +78,7 @@ enum analog_event { ANALOG_EVENT_RINGBEGIN, ANALOG_EVENT_PULSE_START, ANALOG_EVENT_ERROR, + ANALOG_EVENT_REMOVED, ANALOG_EVENT_NEONMWI_ACTIVE, ANALOG_EVENT_NEONMWI_INACTIVE, ANALOG_EVENT_DTMFCID, @@ -328,7 +329,7 @@ struct ast_channel * analog_request(struct analog_pvt *p, int *callwait, const s int analog_available(struct analog_pvt *p, int channelmatch, ast_group_t groupmatch, int *busy, int *channelmatched, int *groupmatched); -int analog_handle_init_event(struct analog_pvt *i, int event); +void *analog_handle_init_event(struct analog_pvt *i, int event); int analog_config_complete(struct analog_pvt *p); |