[asterisk-dev] [Code Review] 4498: res_pjsip: Enable unload of all modules at shutdown

Corey Farrell reviewboard at asterisk.org
Fri Mar 20 23:17:02 CDT 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4498/
-----------------------------------------------------------

(Updated March 21, 2015, 12:17 a.m.)


Review request for Asterisk Developers.


Changes
-------

Rebase to resolve a conflict in res_pjsip.c


Bugs: ASTERISK-24731
    https://issues.asterisk.org/jira/browse/ASTERISK-24731


Repository: Asterisk


Description
-------

This patch allows all PJSIP modules to shutdown cleanly, once approved we'll be able enable it in the Bamboo Reference Checks Job.

* Move most of res_pjsip:module_unload to unload_pjsip to resolve crashes caused by running PJSIP functions from non-PJSIP threads.
* Remove call to pjsip_endpt_destroy(ast_pjsip_endpoint), it was causing crashes in some cases.  In theory pj_shutdown() should take care of this for us.
* Mark res_pjsip_keepalive and res_pjsip_session as allowed to unload at shutdown.
* Resolve leaked config global in res_pjsip_notify.
* Unregister pubsub pjsip service module.
* Implement cleanup for res_pjsip_session.
* Fix a pre-existing FRACK in res_pjsip_outbound_registration.

More about res_pjsip_outbound_registration:
tests/channels/pjsip/ami/show_registrations_outbound has an AO2 FRACK during shutdown.  I get this error with or without my patch.  I've removed what I believe is an extra unref, but this doesn't solve all the FRACK's.


Diffs (updated)
-----

  /branches/13/res/res_pjsip_session.c 433244 
  /branches/13/res/res_pjsip_pubsub.c 433244 
  /branches/13/res/res_pjsip_outbound_registration.c 433244 
  /branches/13/res/res_pjsip_notify.c 433244 
  /branches/13/res/res_pjsip_keepalive.c 433244 
  /branches/13/res/res_pjsip.c 433244 

Diff: https://reviewboard.asterisk.org/r/4498/diff/


Testing
-------

All of tests/channels/pjsip.  Some tests still have reference leaks, but most tests do not.

Can someone retest tests/channels/pjsip/ami/show_registrations_outbound to confirm that I haven't made it worse?  Seems to make no difference on my system, but Bamboo doesn't seem to have a problem with this test.


Thanks,

Corey Farrell

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150321/a0434ad4/attachment-0001.html>


More information about the asterisk-dev mailing list