0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-05-29 08:13:46 +02:00
Commit graph

111 commits

Author SHA1 Message Date
Jason Volk f3a1416f65 ircd::mapi: Annotate noexcept; non-dynamic alloc; codegen reduction all modules. 2023-03-05 12:05:13 -08:00
Jason Volk 3b967b6746 ircd::mods: Add conf item for static dtor check; remove redundant debuglog. 2022-07-27 17:36:50 -07:00
Jason Volk 69dcd7acd9 ircd::mods: Eliminate RTLD_DEEPBIND by linking modules -Bsymbolic. 2022-07-27 16:22:42 -07:00
Jason Volk 2aa0986fb1 ircd::mods: Skip unload for instances w/ null headers or unconstructed. 2022-07-27 15:40:12 -07:00
Jason Volk 9f22edf3a4 ircd::mods: Add conf item to bypass mapi check on load. 2022-07-27 10:20:02 -07:00
Jason Volk 079e273355 ircd: Upgrade to std::filesystem from boost::filesystem. 2022-07-07 16:47:55 -07:00
Jason Volk 8ba5548a2e ircd::mods: Improve paths encapsulation; fix warning. (gcc-12) 2022-07-04 22:25:18 -07:00
Jason Volk 08fce729c5 Fix redundant moves (gcc-11). 2022-06-29 13:26:01 -07:00
Jason Volk 9d0d45294c ircd: Attribute static dtors worthy of running to cleanup memcheck reports. 2022-06-17 21:11:54 -07:00
Jason Volk e09a48ec7e ircd::mods: Reorg internal header w/ unit; internalized pimpls. 2022-06-17 21:11:54 -07:00
Jason Volk 04558290c0 ircd: Toward improving cold/unlikely section population. 2022-06-17 21:11:53 -07:00
Jason Volk adbb974af0 ircd::mapi: Fix for non-standard-layout unique_ptr impl. 2021-09-14 23:39:55 -07:00
Jason Volk 5b004be146 ircd::mods: Move unload success log to debug. 2021-03-16 12:58:22 -07:00
Jason Volk 28f0195b59 ircd::mods: Disable interruption on unload(); guard unloading list; noexcept. 2020-12-15 16:56:07 -08:00
Jason Volk f8b9652555 ircd::mods: Call module fini after child reference counts incremented. 2020-08-23 01:56:37 -07:00
Jason Volk 84767a1859 ircd::mods: Various fixes for proper recursive unload ordering. 2020-07-31 20:25:16 -07:00
Jason Volk 2bf38286ba ircd::fs: Callsite changes for fs::base reorg. 2020-04-19 06:13:23 -07:00
Jason Volk d3809d43e5 Reorganize Makefiles. 2019-09-27 19:35:26 -07:00
Jason Volk 89e0a7fc82 ircd: Move matrix application related to derived library. 2019-09-27 19:35:26 -07:00
Jason Volk 637fb4a6ba ircd::mods: Assertion child unload is not self. 2019-09-27 19:35:25 -07:00
Jason Volk ff813ebea6 ircd::mods: Fix missing reference count condition for children on unload(). (closes #109) 2019-09-26 12:21:10 -07:00
Jason Volk d1fd290ae7 ircd::mods: Add another debug message for static unload process. 2019-08-27 20:58:52 -07:00
Jason Volk 62d7c94cfe ircd::mods: Fix init function being called without recursive loading awareness. (#109) 2019-08-17 04:52:09 -07:00
Jason Volk ccfb3cd688 ircd::mods: Output linked module list to log on stuck module. 2019-07-13 19:28:48 -07:00
Jason Volk 84d1749f4d ircd::mods: Improve/reorg internal interface related. 2019-07-13 19:28:03 -07:00
Jason Volk f02b51d647 ircd::mods: Avoid npd warning from assertions. 2019-07-08 06:03:20 -07:00
Jason Volk 0f02cf3c29 ircd::mods: Remove the version from infolog on load; improve fmt. 2019-06-27 02:22:56 -07:00
Jason Volk cf3b1218c4 ircd: Misc fixes for clang. 2019-06-23 16:22:06 -06:00
Jason Volk 82a7d736d1 ircd::fs::path: Use scoped enum for fs::path::base paths. 2019-06-23 07:37:23 -06:00
Jason Volk 534afe8859 ircd: No need to move x-values. 2019-06-22 17:36:42 -06:00
Jason Volk f2ae3d6368 ircd::mods: Perform checks before entering boost::dll to avoid obscure error messages.
fixes #80
2019-06-13 16:14:27 -06:00
Jason Volk 74d53675f8 ircd::mods: Fix multi-error propagation through why vector. 2019-06-13 16:14:27 -06:00
Jason Volk 3b2fe6ff8d ircd::mods: Simplify stuck-module log message. 2019-05-28 13:30:04 -07:00
Jason Volk 090fda072b ircd::mods: Propagate our own exception through ld.so. 2019-05-28 05:48:18 -07:00
Jason Volk 53071b2029 ircd::mods: Improve various comments. 2019-05-08 18:28:16 -07:00
Jason Volk 542f8f421a ircd::mods: Add preconditions around dlsym hook inclusion. 2019-05-03 15:58:39 -07:00
Jason Volk c6585f5114 Global deepbind module strategy. 2019-05-03 15:58:20 -07:00
Jason Volk a464523c00 ircd::mapi: Cleanup macros for potential deepbind strategy. 2019-05-02 21:42:34 -07:00
Jason Volk 154eee0ca6 ircd: Make unresolved symbols weak symbols; lazy binding in modules. 2019-05-02 16:45:27 -07:00
Jason Volk 1352ddf56c ircd::mods: Fix error format string specifier case. 2019-05-02 15:35:26 -07:00
Jason Volk 069d3b6f74 ircd::mods: Improve various format strings re log msgs and errors. 2019-05-01 15:40:17 -07:00
Jason Volk c427223340 ircd::mapi: Force the header inline so the module contains the constants. 2019-04-18 17:36:33 -07:00
Jason Volk 1312784518 ircd::mapi: Add a serial number to deal with removed modules which are still installed. 2019-04-18 17:36:33 -07:00
Jason Volk 61e136f577 ircd::mods: Actually check the MAPI header version on load. 2019-04-18 16:53:47 -07:00
Jason Volk 06e7b16ed5 ircd::mods: Stub internal dlsym() hooker. 2019-04-09 21:27:45 -07:00
Jason Volk 5a26cbb65c ircd::mods: Fix error code case for module load errors; split demangler function. 2019-04-03 21:05:39 -07:00
Jason Volk 59b0b633cb ircd::mods: Support code and data demangled export sections. 2019-03-24 14:06:47 -07:00
Jason Volk 1ce9ec3f8e ircd::fs::error: Remove fs::error from the ircd::exception hierarchy. 2019-03-16 18:12:38 -07:00
Jason Volk 474464f1bb ircd::mods: Fix termination loop for static exceptions in dlopen(). 2019-03-14 16:20:40 -07:00
Jason Volk 19cc9ccc79 ircd::mods: Use eventual overload directly. 2019-02-28 17:58:35 -08:00