webmcp
changeset 229:bf690b4be420
Workaround for postfork-loading of multirand library
author | jbe |
---|---|
date | Fri Feb 27 22:45:36 2015 +0100 (2015-02-27) |
parents | bcf6ddd2cd1a |
children | d3273921ce75 |
files | framework/bin/mcp.lua framework/env/__init.lua |
line diff
1.1 --- a/framework/bin/mcp.lua Fri Feb 27 22:37:46 2015 +0100 1.2 +++ b/framework/bin/mcp.lua Fri Feb 27 22:45:36 2015 +0100 1.3 @@ -187,6 +187,7 @@ 1.4 1.5 -- interactive console mode 1.6 if WEBMCP_MODE == "interactive" then 1.7 + _G.multirand = require "multirand" -- TODO: cleaner solution 1.8 execute.postfork_initializers() 1.9 trace.disable() -- avoids memory leakage (TODO: needs general solution for moonbridge?) 1.10 end 1.11 @@ -195,7 +196,11 @@ 1.12 if WEBMCP_MODE == "listen" then 1.13 local http = require("moonbridge_http") 1.14 for i, listener in ipairs(listeners) do 1.15 - listener.prepare = execute.postfork_initializers 1.16 + --listener.prepare = execute.postfork_initializers 1.17 + listener.prepare = function() 1.18 + _G.multirand = require "multirand" 1.19 + execute.postfork_initializers() 1.20 + end 1.21 listener.connect = http.generate_handler( 1.22 request.handler, 1.23 request.get_http_options()
2.1 --- a/framework/env/__init.lua Fri Feb 27 22:37:46 2015 +0100 2.2 +++ b/framework/env/__init.lua Fri Feb 27 22:45:36 2015 +0100 2.3 @@ -40,7 +40,7 @@ 2.4 -- load libraries 2.5 extos = require 'extos' 2.6 nihil = require 'nihil' 2.7 -multirand = require 'multirand' 2.8 +--multirand = require 'multirand' -- TODO: load after forking 2.9 mondelefant = require 'mondelefant' 2.10 mondelefant.connection_prototype.error_objects = true 2.11 atom = require 'atom'