This patch does the following: (1) It makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables REF_DEBUG globally throughout Asterisk. (2) The ref debug log file is now created in the AST_LOG_DIR directory. Every run will now blow away the previous run (as large ref files sometimes caused issues). We now also no longer open/close the file on each write, instead relying on fflush to make sure data gets written to the file (in case the ao2 call being performed is about to cause a crash) (3) It goes with a comma delineated format for the ref debug file. This makes parsing much easier. This also now includes the thread ID of the thread that caused ref change. (4) A new python script instead for refcounting has been added in the contrib/scripts folder. (5) The old refcounter implementation in utils/ has been removed. Review: https://reviewboard.asterisk.org/r/3377/ ........ Merged revisions 412114 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 412115 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 412153 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@412154 65c4cc65-6c06-0410-ace0-fbb531ad65f3 |
||
---|---|---|
.. | ||
sip_to_pjsip | ||
agents.php | ||
ast_grab_core | ||
ast_tls_cert | ||
astcli | ||
asterisk.ldap-schema | ||
asterisk.ldif | ||
asterisk.logrotate | ||
astgenkey | ||
astgenkey.8 | ||
autosupport | ||
autosupport.8 | ||
dbsep.cgi | ||
file.convert.sh | ||
get_ilbc_source.sh | ||
get_mp3_source.sh | ||
get_swagger_ui.sh | ||
import-cdr-csv-mysql.pl | ||
install_prereq | ||
live_ast | ||
loadtest.tcl | ||
lookup.agi | ||
managerproxy.pl | ||
messages-expire.pl | ||
qview.pl | ||
README.messages-expire | ||
refcounter.py | ||
retrieve_extensions_from_mysql.pl | ||
retrieve_extensions_from_sql.pl | ||
retrieve_sip_conf_from_mysql.pl | ||
safe_asterisk | ||
safe_asterisk.8 | ||
safe_asterisk_restart | ||
sip_nat_settings | ||
valgrind_compare | ||
vmail.cgi | ||
voicemailpwcheck.py |
messages-expire.pl messages-expire finds messages more than X days old and deletes them. Because the older messages will be the lower numbers in the folder (msg0000 will be older than msg0005), just deleting msg0000 will not work. expire-messages then runs a routine that goes into every folder in every mailbox to reorganize. If the folder contains msg0000, no action is taken. If the folder does not, the rename routine takes the oldest message and names it msg0000, the next oldest message and names it msg0001 and so on. The file deletion is done by the -exec parameter to 'find'. It would be far more efficient to take the output from 'find' and just reorganize the directories from which we deleted a file. Something for the future... Keep in mind that messages are deleted at the beginning of the script you will have mailbox trouble if you check messages before the script reorganizes your mailbox. To use it, make sure the paths are right. Adjust $age (originally set to 31) if necessary.