Software / code / prosody
Comparison
core/modulemanager.lua @ 708:b72d408f5f15
modulemanager: Fixed error on unloading modules with no handlers
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Tue, 13 Jan 2009 20:19:52 +0500 |
| parent | 686:13ed38531f69 |
| child | 709:8bb83563cb21 |
comparison
equal
deleted
inserted
replaced
| 707:bb9583314ec7 | 708:b72d408f5f15 |
|---|---|
| 147 end | 147 end |
| 148 end | 148 end |
| 149 modulemap[host][name] = nil; | 149 modulemap[host][name] = nil; |
| 150 features_table:remove(host, name); | 150 features_table:remove(host, name); |
| 151 local params = handler_table:get(host, name); -- , {module.host, origin_type, tag, xmlns} | 151 local params = handler_table:get(host, name); -- , {module.host, origin_type, tag, xmlns} |
| 152 for _, param in pairs(params) do | 152 for _, param in pairs(params or NULL) do |
| 153 local handlers = stanza_handlers:get(param[1], param[2], param[3], param[4]); | 153 local handlers = stanza_handlers:get(param[1], param[2], param[3], param[4]); |
| 154 handler_info[handlers[1]] = nil; | 154 if handlers then |
| 155 stanza_handlers:remove(param[1], param[2], param[3], param[4]); | 155 handler_info[handlers[1]] = nil; |
| 156 stanza_handlers:remove(param[1], param[2], param[3], param[4]); | |
| 157 end | |
| 156 end | 158 end |
| 157 event_hooks:remove(host, name); | 159 event_hooks:remove(host, name); |
| 158 return true; | 160 return true; |
| 159 end | 161 end |
| 160 | 162 |