solanum/modules/core
Ed Kellett 7b6410135b
m_modules: make modreload work like restart
/modrestart used to be implemented as a normal command and could crash
when used remotely because it would reload m_encap, which was on the
call stack at the time. This was fixed in 41390bfe5f. However,
/modreload has exactly the same problem, so I'm giving it the
same treatment.

Incidentally: This bug was first discovered in ircd-seven, where the
`/mod*` commands themselves live in the core, so m_encap was the only way
the crash could happen (and it didn't most of the time, because m_encap
would only be moved if you got unlucky). But `/mod*` are in modules in
charybdis, so /modrestart would have unloaded the code it was in the
middle of executing. With that in mind, I'm not sure how it ever
appeared to work.
2019-11-17 18:01:51 +00:00
..
m_ban.c m_ban: check only the added K-line 2019-04-27 14:51:17 +01:00
m_die.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_error.c Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05:00
m_join.c ircd: send tags on every message 2017-08-06 16:21:29 +01:00
m_kick.c ircd: send tags on every message 2017-08-06 16:21:29 +01:00
m_kill.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_message.c echo-message should work for privmsg/notice to another user 2016-11-23 21:59:43 +00:00
m_mode.c ircd: send tags on every message 2017-08-06 16:21:29 +01:00
m_modules.c m_modules: make modreload work like restart 2019-11-17 18:01:51 +00:00
m_nick.c m_nick/m_sasl/m_user: restore check for mixing of client and server protocol 2018-08-15 22:48:21 +01:00
m_part.c ircd: send tags on every message 2017-08-06 16:21:29 +01:00
m_quit.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_server.c m_pass: store unverified SID in preClient for use in m_server 2018-08-15 22:48:20 +01:00
m_squit.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00