0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-29 00:44:17 +01:00
Commit graph

180 commits

Author SHA1 Message Date
Jason Volk
99001a4ea5 ircd: Initial ap. 2018-12-05 15:17:00 -08:00
Jason Volk
d6241c66de ircd: Add synchronization for runlevel changes. 2018-12-05 14:31:05 -08:00
Jason Volk
ca525b081f ircd: Add noaio global flag; add command line option. 2018-12-01 15:55:53 -08:00
Jason Volk
36b4e3cabe ircd: Add init parameters for different origin and hostname strings. 2018-12-01 14:55:38 -08:00
Jason Volk
02f64c7f34 ircd: Add ios unit to provide a more central control point for asio. 2018-10-17 05:12:10 -07:00
Jason Volk
15b907167d ircd::client: Refuse to enqueue client request in unfavorable runlevel; tweaks shutdown. 2018-09-25 00:33:40 -07:00
Jason Volk
452f9a9abb ircd:Ⓜ️ Reorg init/fini sequence. 2018-09-21 15:07:28 -07:00
Jason Volk
9cced19111 ircd::client: Close sockets before terminating contexts on shutdown. 2018-09-20 23:30:50 -07:00
Jason Volk
439e8618d6 ircd: Simplify/cleanup the coarse controls for client/server subsystems. 2018-09-17 16:47:36 -07:00
Jason Volk
60a0694853 construct: Add program option to disable direct IO. 2018-09-03 07:59:05 -07:00
Jason Volk
a4e4424ede ircd: Improve main control flow for termination condition during init. 2018-08-28 15:04:23 -07:00
Jason Volk
ff050ae7b0 ircd: Simplify runlevels on shutdown. 2018-08-17 12:51:49 -07:00
Jason Volk
e8e8d282b2 ircd: Minor cleanup. 2018-08-17 12:51:49 -07:00
Jason Volk
e1c5e55737 ircd: Pass hostname from init(). 2018-08-17 12:51:49 -07:00
Jason Volk
d1944c6006 construct/ircd: Use hostname-based init from command line params. 2018-08-13 14:36:50 -07:00
Jason Volk
a8a2015ec9 ircd: Cleanup runlevel change routine. 2018-08-11 00:42:09 -07:00
Jason Volk
a98bd357df construct/ircd: Add -pitrecdb option to allow point-in-time recovery. 2018-07-06 17:09:33 -07:00
Jason Volk
712b343017 ircd: Remove internal main_exit callback. 2018-07-06 00:44:24 -07:00
Jason Volk
e2edd13a33 ircd: Remove ircd::strand related. 2018-07-06 00:44:24 -07:00
Jason Volk
8fcd6379a4 construct/ircd: Add -nojs option to not init js engine. 2018-07-05 16:57:47 -07:00
Jason Volk
e03f50c427 ircd: Clarify type of ircd::strand instance pointer. 2018-07-01 02:14:34 -07:00
Jason Volk
383f97cdb7 ircd: Promote info init before conf init; minor cleanup. 2018-06-15 15:24:49 -06:00
Jason Volk
7461de8b3d ircd::db: Condition to check database from ircd::checkdb via -checkdb command line option. 2018-05-31 12:47:37 -07:00
Jason Volk
48f4c22cce ircd:Ⓜ️ Expose an init::close() for ircd::main() to stop listening. 2018-05-19 18:49:04 -07:00
Jason Volk
5488a85d1a ircd: Update log start marker. 2018-05-07 16:34:59 -07:00
Jason Volk
7758a80927 ircd: Further condense ircd::main() exception handlers. 2018-05-06 15:11:59 -07:00
Jason Volk
003ecf6357 ircd: Remove / update various ctx::interrupted catch blocks for ctx::terminated. 2018-05-06 02:06:08 -07:00
Jason Volk
48055cb276 ircd::ctx: Add special termination interruption to yanagiba the stack. 2018-05-06 02:06:08 -07:00
Jason Volk
cff90c79ae ircd: Minor cleanup. 2018-05-04 20:43:04 -07:00
Jason Volk
1cd3e41e44 ircd::info: Distill out the logdump from init. 2018-04-20 15:22:50 -07:00
Jason Volk
e3b97871f9 ircd: Add function to return daemon's uptime. 2018-04-14 17:15:06 -07:00
Jason Volk
91c9737f29 ircd: Improve runlevel changed callback related. 2018-03-23 22:17:09 -07:00
Jason Volk
d751255c5a ircd::magic: Avoid stderr pollution by checking if the file exists first. 2018-03-16 23:13:37 -07:00
Jason Volk
af8835aa5c construct/ircd: Add option to soft-indicate no modules should be loaded on startup. 2018-03-16 21:42:22 -07:00
Jason Volk
7daef82218 construct/ircd: Add option to soft-indicate no listening sockets should be bound. 2018-03-16 21:42:22 -07:00
Jason Volk
03651c2274 ircd: ircd::main() exception specification. 2018-03-16 21:42:22 -07:00
Jason Volk
a22e45a9f5 ircd: Break down client shutdown; improve various shutdown refusals. 2018-03-12 14:20:39 -07:00
Jason Volk
4e75566c94 ircd::server: Break down the shutdown process further. 2018-03-09 17:10:44 -08:00
Jason Volk
97e593a77e ircd: Mein conf. 2018-03-02 08:02:20 -08:00
Jason Volk
8ae1e735f2 construct/ircd: Minor update stale comments. 2018-02-22 01:33:25 -08:00
Jason Volk
7142cbf735 ircd: Move magic out of fs::. 2018-02-18 22:54:54 -08:00
Jason Volk
333d7a81f5 ircd: Move ircd::db::init up in the main sequence. 2018-02-13 20:38:55 -08:00
Jason Volk
45e9f7304f ircd: Call log::fini; flushing on runlevel change / halt. 2018-02-07 12:16:17 -08:00
Jason Volk
be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk
091657ec45 ircd: Ensure ID of acting main thread is properly sampled. 2018-01-23 17:56:05 -08:00
Jason Volk
e63f06ecc2 ircd: Various minor cleanup. 2018-01-22 00:54:52 -08:00
Jason Volk
4ce6a8ac0a ircd: Remove various cruft. 2018-01-22 00:54:52 -08:00
Jason Volk
557b521d62 ircd::info: Update info. 2018-01-17 21:38:17 -08:00
Jason Volk
56cefcb650 ircd::server: Move into directory; various cleanup. 2018-01-13 18:03:04 -08:00
Jason Volk
84bbeecc83 ircd: Move sys/resource / coredump related out of libircd. 2018-01-10 00:56:33 -08:00
Jason Volk
9871332957 fixup! Pin boost to 1.66.0. 2017-12-29 15:53:39 -07:00
Jason Volk
1a1a50f5f3 Checkpoint reorganization. 2017-11-30 12:30:19 -08:00
Jason Volk
bcebeb420d ircd: Add interrupt for server dtor. 2017-11-30 11:23:46 -08:00
Jason Volk
97672ccc8f ircd: Preliminary initial conf. 2017-11-30 11:23:46 -08:00
Jason Volk
a046a56d0d ircd: Wrap the std::terminate() handler and add some related toys. 2017-11-30 11:23:46 -08:00
Jason Volk
8869b1577c ircd: Main init for server. 2017-11-30 11:23:45 -08:00
Jason Volk
d7136bb393 ircd: Improve and comment on runlevel / client interruption. 2017-11-30 11:23:43 -08:00
Jason Volk
2930b93dcb ircd::net: Various net/client/listener bugfixes/cleanup. 2017-11-30 11:23:42 -08:00
Jason Volk
38023e0d9b ircd::openssl: Introduce openssl namespace for anything related to driving that beast. 2017-11-30 11:23:40 -08:00
Jason Volk
0f00f21a1d ircd: Add preliminary tcmalloc version check. 2017-10-19 01:05:41 -07:00
Jason Volk
3425659d7f ircd::fs: Add very preliminary aio and ircd init for such. 2017-10-11 20:54:01 -07:00
Jason Volk
eb56befef0 ircd: Improve thread id related; add public functions to post to ios. 2017-10-11 18:18:19 -07:00
Jason Volk
75648c7397 configure.ac: Add an RB_DEBUG_LEVEL which will always be defined; 0 when RB_DEBUG is not defined. 2017-10-11 18:18:19 -07:00
Jason Volk
9d4c2fb5c3 ircd: Turn off coredumps in production to not leak secret key material. 2017-10-03 04:27:15 -07:00
Jason Volk
4a6b3f5fcc Add support for libsodium (NaCl) cryptography. 2017-10-03 04:27:10 -07:00
Jason Volk
84d7746165 ircd: Add net; various asio related. 2017-10-03 04:17:10 -07:00
Jason Volk
816b5125b2 ircd: Improve/cleanup ircd::init()/ircd::stop() related. 2017-10-03 04:17:07 -07:00
Jason Volk
d4508e157f ircd:Ⓜ️ Deduplicate user related in m::user. Update various resource related. 2017-09-24 20:48:53 -07:00
Jason Volk
b207b9e909 ircd: Rename ircd::scope to ircd::unwind. 2017-09-24 18:16:41 -07:00
Jason Volk
971496817b Minor fixes / cleanup. 2017-09-24 18:16:40 -07:00
Jason Volk
7f548cee1c ircd: Make asio header; comments; add special continuation for yielding to asio. 2017-09-24 18:16:39 -07:00
Jason Volk
a12309be44 ircd: Log version information on startup. 2017-09-24 18:16:37 -07:00
Jason Volk
214e5e7107 Compiler recommended to use std::terminate() rather than throw into noexcept. 2017-09-24 18:16:34 -07:00
Jason Volk
6cd58b0d6a ircd: Update various comments / minor cleanup. 2017-09-24 18:16:32 -07:00
Jason Volk
1cea631f60 ircd::m modules: Matrix reinterface checkpoint. 2017-09-08 03:47:53 -07:00
Jason Volk
7baac31cc7 ircd: Add main init for ircd::db. 2017-09-08 03:47:52 -07:00
Jason Volk
48148c640c ircd: Add std::random subsystem and utils. 2017-08-23 15:52:15 -06:00
Jason Volk
10472684f2 ircd: Cleanup client/ircd main. Fixes for exit notification. 2017-08-23 15:50:37 -06:00
Jason Volk
6e44074bad ircd: Various client / listener / main related. 2017-08-23 15:13:57 -06:00
Jason Volk
8fdc6a4794 fixup! ircd: Minor cleanup. 2017-04-04 16:10:29 -07:00
Jason Volk
8ef53f2640 ircd: Move and improve socket listener device. 2017-03-30 16:04:19 -07:00
Jason Volk
6a0e5e4de5 ircd::mods: Add sym_ptr/sym_ref to link symbols with a typed object. 2017-03-20 21:29:29 -07:00
Jason Volk
26f59954af ircd: Fix seed pun. 2017-03-13 21:14:40 -07:00
Jason Volk
b592b69b86 What is the Matrix? Control. 2017-03-10 17:51:18 -08:00
Jason Volk
be48466ef3 fixup! [temp] Checkpoint test. 2016-11-13 16:32:38 -08:00
Jason Volk
ae40f9c016 ircd: Move all signal handling to charybdis executable. 2016-11-13 16:32:37 -08:00
Jason Volk
2f645941a8 ircd::ctx: Move ctx headers into directory. 2016-11-13 16:29:45 -08:00
Jason Volk
95068c7d06 Introduce Mozilla SpiderMonkey. 2016-10-25 01:55:50 -07:00
Jason Volk
757d7e10a8 [temp] checkpoint some crap which isn't going to stick. 2016-09-27 17:29:06 -07:00
Jason Volk
bbd73746c3 ircd::ctx: Abstract the db::work subsystem into ctx::ole OffLoad Engine (OLE). 2016-09-27 17:28:24 -07:00
Jason Volk
5df4bf6da2 ircd::db: Add database interface. Support RocksDB. 2016-09-27 02:20:42 -07:00
Jason Volk
284bad47e9 ircd: Add mods::init; a subsystem init/fini singleton held by ircd::main(). 2016-09-24 16:40:02 -07:00
Jason Volk
417594d0cd mapi: Add check for "stuck modules" and display warning for developer. 2016-09-21 16:29:30 -07:00
Jason Volk
1fcb08d261 ircd: Post main exit cb to ios to keep the user off our stack; improve main comments. 2016-09-21 16:29:29 -07:00
Jason Volk
6252d6f11e ircd: Remove cruft which boost abstracts away. 2016-09-21 16:29:29 -07:00
Jason Volk
26a3cd8441 Preliminary new client. Reorg/renames for ircd::client struct symbol. 2016-09-21 16:29:29 -07:00
Jason Volk
556ceba8a0 ircd: new client; start over. 2016-09-21 16:29:28 -07:00
Jason Volk
89c2e74f3b ircd::ctx: Improve context interface. 2016-09-21 16:29:26 -07:00
Jason Volk
090def32d2 ircd::mods: Add unload() to unload all modules. 2016-09-21 16:28:52 -07:00
Jason Volk
07177e8a6b ircd/charybdis: Add at_main_exit() callback to indicate IRCd has finished
to the host program. Without any indication, the outer program's handlers
will continue to keep ios.run() from returning.
2016-09-21 16:28:51 -07:00