[asterisk-dev] [Code Review] Resolve format module dependency issue for app_voicemail

Russell Bryant russell at digium.com
Tue Dec 8 19:04:23 CST 2009


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

Review request for Asterisk Developers.


Summary
-------

Issue 16412 demonstrates a bug where app_voicemail expects format modules to be loaded.  However, they may not be when autoloading modules.

In Asterisk 1.6.1, 1.6.2, and trunk, the fix was simple, since we already had the ability to set a module load priority on modules.  However, for 1.4 and 1.6.0, the fix is a bit more involved.

This patch implements some very basic module load priority capability in 1.4 (and will be ported to 1.6.0).  Instead of being a numeric value like is possible in trunk, it is a simple module flag.  It adds another pass to the module load process.

Basically, you now have ...

1) preloaded modules
2) LOAD_FIRST modules <------- the new step
3) modules that export global symbols
4) everything else

Also, all of the format modules were placed in the LOAD_FIRST group.  This ensures that they get loaded before app_voicemail.


This addresses bug 16412.
    https://issues.asterisk.org/view.php?id=16412


Diffs
-----

  /branches/1.4/formats/format_g723.c 233769 
  /branches/1.4/formats/format_g726.c 233769 
  /branches/1.4/formats/format_g729.c 233769 
  /branches/1.4/formats/format_gsm.c 233769 
  /branches/1.4/formats/format_h263.c 233769 
  /branches/1.4/formats/format_h264.c 233769 
  /branches/1.4/formats/format_ilbc.c 233769 
  /branches/1.4/formats/format_jpeg.c 233769 
  /branches/1.4/formats/format_ogg_vorbis.c 233769 
  /branches/1.4/formats/format_pcm.c 233769 
  /branches/1.4/formats/format_sln.c 233769 
  /branches/1.4/formats/format_vox.c 233769 
  /branches/1.4/formats/format_wav.c 233769 
  /branches/1.4/formats/format_wav_gsm.c 233769 
  /branches/1.4/include/asterisk/module.h 233769 
  /branches/1.4/main/loader.c 233769 

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


Testing
-------

I started Asterisk and checked the verbose output that shows modules as they get loaded.  I saw all of the format modules get loaded first, then the res_ modules that export symbols, then everything else.


Thanks,

Russell




More information about the asterisk-dev mailing list