# HG changeset patch # User jbe # Date 1426986657 -3600 # Node ID fc2aba7d5db916bbede72e1d79fd368c3c52a158 # Parent aacddd07e471dd6fb79991339bcd38643f508fec Code cleanup regarding loading of "multirand" library diff -r aacddd07e471 -r fc2aba7d5db9 framework/bin/mcp.lua --- a/framework/bin/mcp.lua Sun Mar 22 02:09:49 2015 +0100 +++ b/framework/bin/mcp.lua Sun Mar 22 02:10:57 2015 +0100 @@ -202,10 +202,15 @@ end execute.prefork_initializers() +-- define post-fork initialization function (including loading of "multirand" library) +local function postfork_init() + _G.multirand = require "multirand" + execute.postfork_initializers() +end + -- interactive console mode if WEBMCP_MODE == "interactive" then - _G.multirand = require "multirand" -- TODO: cleaner solution - execute.postfork_initializers() + postfork_init() trace.disable() -- avoids memory leakage (TODO: needs general solution for moonbridge?) end @@ -223,10 +228,7 @@ end local outer_handler = http.generate_handler(inner_handler, http_options) --listener.prepare = execute.postfork_initializers - listener.prepare = function() - _G.multirand = require "multirand" - execute.postfork_initializers() - end + listener.prepare = postfork_init listener.connect = function(socket) outer_handler(socket) return request_count < min_requests_per_connect diff -r aacddd07e471 -r fc2aba7d5db9 framework/env/__init.lua --- a/framework/env/__init.lua Sun Mar 22 02:09:49 2015 +0100 +++ b/framework/env/__init.lua Sun Mar 22 02:10:57 2015 +0100 @@ -37,15 +37,15 @@ end --//-- --- load libraries +-- load libraries (except "multirand", which must be loaded after forking) extos = require 'extos' nihil = require 'nihil' ---multirand = require 'multirand' -- TODO: load after forking mondelefant = require 'mondelefant' mondelefant.connection_prototype.error_objects = true atom = require 'atom' json = require 'json' require 'mondelefant_atom_connector' +-- NOTE: "multirand" library is loaded in mcp.lua after forking --[[-- config -- table to store application configuration