fixed: when signal comes winix properly exits

fixed:   when winix exits the session data were not properly destroyed (memory leak)
         we should set request.session pointer to each session when deleting sessions
         from session_container
         the session data were not properly destroyed when winix checked for 
         outdated sessions (and when it was removing them)
fixed:   performance (memcpy used too often)
         in some places there were reserve method used (on std::wstring/std::string objects)
         especially in AssignString() method and TextStream<> object
         if we add a new string we should check the new size
         and only call reserve() if the new size will be greater than existing one
         (plus some constant)
changed: fcgi objects moved to App class (from Request)
         now we use thread safe methods (e.g. FCGX_Accept_r)
added:   log_plugin_call option to the config
         default: false
         when true winix log when a plugin function is called
added:   winix parameter 'nostat' for not calculating statistics
         (useful when making performance tests)


git-svn-id: svn://ttmath.org/publicrep/winix/trunk@680 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-11-23 21:52:25 +00:00
parent 515d4bab0d
commit 518281e101
39 changed files with 483 additions and 339 deletions

View File

@@ -30,12 +30,11 @@ app.o: ../functions/funthread.h ../functions/template.h
app.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
app.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
app.o: ../core/htmlfilter.h ../templates/templates.h
app.o: ../templates/patterncacher.h ../core/item.h
app.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
app.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
app.o: compress.h getparser.h httpsimpleparser.h postparser.h cookieparser.h
app.o: postmultiparser.h acceptencodingparser.h acceptbaseparser.h plugin.h
app.o: pluginmsg.h
app.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
app.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
app.o: ../core/sessionmanager.h compress.h getparser.h httpsimpleparser.h
app.o: postparser.h cookieparser.h postmultiparser.h acceptencodingparser.h
app.o: acceptbaseparser.h plugin.h pluginmsg.h
bbcodeparser.o: bbcodeparser.h htmlfilter.h
compress.o: compress.h log.h textstream.h
config.o: config.h confparser.h htmlfilter.h log.h textstream.h plugin.h
@@ -49,10 +48,7 @@ config.o: mounts.h mount.h mountparser.h users.h ugcontainer.h
config.o: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h
config.o: sessioncontainer.h ../functions/functions.h
config.o: ../functions/functionbase.h ../core/request.h ../core/config.h
config.o: ../core/system.h ../core/notify.h ../../ezc/src/ezc.h
config.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
config.o: ../../ezc/src/pattern.h ../../ezc/src/stringconv.h
config.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
config.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
config.o: ../functions/functionparser.h ../functions/adduser.h
config.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
config.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
@@ -65,16 +61,15 @@ config.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
config.o: ../functions/funthread.h ../functions/template.h
config.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
config.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
config.o: ../core/htmlfilter.h ../templates/templates.h
config.o: ../templates/patterncacher.h ../core/item.h
config.o: ../core/htmlfilter.h ../templates/templates.h ../../ezc/src/ezc.h
config.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
config.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
config.o: ../../ezc/src/funinfo.h ../templates/patterncacher.h
config.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
config.o: ../core/log.h ../templates/indexpatterns.h
config.o: ../templates/localefilter.h ../templates/locale.h
config.o: ../core/confparser.h ../core/sessionmanager.h
confparser.o: confparser.h misc.h item.h ../../ezc/src/ezc.h
confparser.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
confparser.o: ../../ezc/src/pattern.h ../../ezc/src/stringconv.h
confparser.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
confparser.o: confparser.h misc.h item.h ../../ezc/src/utf8.h
dircontainer.o: dircontainer.h item.h log.h textstream.h
dirs.o: dirs.h item.h dircontainer.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
dirs.o: ../db/dbtextstream.h ../core/textstream.h misc.h ../core/error.h
@@ -100,10 +95,7 @@ httpsimpleparser.o: httpsimpleparser.h
item.o: item.h misc.h
lastcontainer.o: lastcontainer.h log.h textstream.h misc.h item.h
loadavg.o: loadavg.h log.h textstream.h
log.o: log.h textstream.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
log.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h item.h
log.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
log.o: ../../ezc/src/funinfo.h
log.o: log.h textstream.h ../../ezc/src/utf8.h
misc.o: misc.h item.h log.h textstream.h ../templates/templates.h
misc.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h ../../ezc/src/generator.h
misc.o: ../../ezc/src/pattern.h ../../ezc/src/stringconv.h
@@ -114,8 +106,8 @@ misc.o: ../core/log.h ../templates/indexpatterns.h
misc.o: ../templates/localefilter.h ../templates/locale.h
misc.o: ../core/confparser.h ../core/config.h ../db/db.h ../db/dbbase.h
misc.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
misc.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
misc.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h ../core/thread.h
misc.o: ../core/error.h ../db/dbitemquery.h ../db/dbitemcolumns.h
misc.o: ../core/user.h ../core/group.h ../core/thread.h
misc.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/request.h
misc.o: ../core/system.h ../core/sessionmanager.h
mount.o: mount.h misc.h item.h
@@ -139,10 +131,7 @@ mounts.o: system.h users.h ugcontainer.h lastcontainer.h groups.h group.h
mounts.o: loadavg.h sessionmanager.h sessioncontainer.h
mounts.o: ../functions/functions.h ../functions/functionbase.h
mounts.o: ../core/request.h ../core/config.h ../core/system.h
mounts.o: ../core/notify.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
mounts.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
mounts.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
mounts.o: ../../ezc/src/funinfo.h ../functions/functionparser.h
mounts.o: ../core/notify.h ../../ezc/src/utf8.h ../functions/functionparser.h
mounts.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
mounts.o: ../functions/privchanger.h ../functions/chown.h
mounts.o: ../functions/ckeditor.h ../functions/cp.h
@@ -155,8 +144,10 @@ mounts.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
mounts.o: ../functions/funthread.h ../functions/template.h
mounts.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
mounts.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
mounts.o: ../core/htmlfilter.h ../templates/templates.h
mounts.o: ../templates/patterncacher.h ../core/item.h
mounts.o: ../core/htmlfilter.h ../templates/templates.h ../../ezc/src/ezc.h
mounts.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
mounts.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
mounts.o: ../../ezc/src/funinfo.h ../templates/patterncacher.h
mounts.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
mounts.o: ../core/log.h ../templates/indexpatterns.h
mounts.o: ../templates/localefilter.h ../templates/locale.h
@@ -186,10 +177,7 @@ plugin.o: mounts.h mount.h mountparser.h users.h ugcontainer.h
plugin.o: lastcontainer.h groups.h group.h loadavg.h sessionmanager.h
plugin.o: sessioncontainer.h ../functions/functions.h
plugin.o: ../functions/functionbase.h ../core/request.h ../core/config.h
plugin.o: ../core/system.h ../core/notify.h ../../ezc/src/ezc.h
plugin.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
plugin.o: ../../ezc/src/pattern.h ../../ezc/src/stringconv.h
plugin.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
plugin.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
plugin.o: ../functions/functionparser.h ../functions/adduser.h
plugin.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
plugin.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
@@ -202,8 +190,10 @@ plugin.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
plugin.o: ../functions/funthread.h ../functions/template.h
plugin.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
plugin.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
plugin.o: ../core/htmlfilter.h ../templates/templates.h
plugin.o: ../templates/patterncacher.h ../core/item.h
plugin.o: ../core/htmlfilter.h ../templates/templates.h ../../ezc/src/ezc.h
plugin.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
plugin.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
plugin.o: ../../ezc/src/funinfo.h ../templates/patterncacher.h
plugin.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
plugin.o: ../core/log.h ../templates/indexpatterns.h
plugin.o: ../templates/localefilter.h ../templates/locale.h
@@ -219,10 +209,7 @@ plugindata.o: ../core/ugcontainer.h mounts.h mount.h mountparser.h users.h
plugindata.o: ugcontainer.h lastcontainer.h groups.h group.h loadavg.h
plugindata.o: sessionmanager.h sessioncontainer.h ../functions/functions.h
plugindata.o: ../functions/functionbase.h ../core/request.h ../core/config.h
plugindata.o: ../core/system.h ../core/notify.h ../../ezc/src/ezc.h
plugindata.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
plugindata.o: ../../ezc/src/pattern.h ../../ezc/src/stringconv.h
plugindata.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
plugindata.o: ../core/system.h ../core/notify.h ../../ezc/src/utf8.h
plugindata.o: ../functions/functionparser.h ../functions/adduser.h
plugindata.o: ../functions/cat.h ../functions/chmod.h
plugindata.o: ../functions/privchanger.h ../functions/chown.h
@@ -238,17 +225,17 @@ plugindata.o: ../functions/template.h ../functions/tinymce.h
plugindata.o: ../functions/uname.h ../functions/upload.h
plugindata.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
plugindata.o: ../core/htmlfilter.h ../templates/templates.h
plugindata.o: ../templates/patterncacher.h ../core/item.h
plugindata.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
plugindata.o: ../core/log.h ../templates/indexpatterns.h
plugindata.o: ../templates/localefilter.h ../templates/locale.h
plugindata.o: ../core/confparser.h ../core/sessionmanager.h
plugindata.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
plugindata.o: ../../ezc/src/pattern.h ../../ezc/src/stringconv.h
plugindata.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
plugindata.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
plugindata.o: ../core/httpsimpleparser.h ../core/log.h
plugindata.o: ../templates/indexpatterns.h ../templates/localefilter.h
plugindata.o: ../templates/locale.h ../core/confparser.h
plugindata.o: ../core/sessionmanager.h
postmultiparser.o: postmultiparser.h error.h requesttypes.h config.h
postmultiparser.o: confparser.h htmlfilter.h log.h textstream.h
postmultiparser.o: ../../ezc/src/ezc.h ../../ezc/src/utf8.h
postmultiparser.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h item.h
postmultiparser.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
postmultiparser.o: ../../ezc/src/funinfo.h misc.h
postmultiparser.o: ../../ezc/src/utf8.h misc.h item.h
rebus.o: log.h textstream.h rebus.h misc.h item.h request.h requesttypes.h
rebus.o: session.h error.h user.h plugindata.h config.h confparser.h
rebus.o: htmlfilter.h
@@ -264,13 +251,10 @@ request.o: mountparser.h users.h ugcontainer.h lastcontainer.h groups.h
request.o: group.h loadavg.h sessionmanager.h sessioncontainer.h
request.o: ../functions/functions.h ../functions/functionbase.h
request.o: ../core/request.h ../core/config.h ../core/system.h
request.o: ../core/notify.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
request.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
request.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
request.o: ../../ezc/src/funinfo.h ../functions/functionparser.h
request.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
request.o: ../functions/privchanger.h ../functions/chown.h
request.o: ../functions/ckeditor.h ../functions/cp.h
request.o: ../core/notify.h ../../ezc/src/utf8.h
request.o: ../functions/functionparser.h ../functions/adduser.h
request.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
request.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
request.o: ../functions/createthread.h ../functions/default.h
request.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
request.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
@@ -280,19 +264,22 @@ request.o: ../functions/run.h ../functions/stat.h ../functions/subject.h
request.o: ../functions/funthread.h ../functions/template.h
request.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
request.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
request.o: ../core/htmlfilter.h ../templates/templates.h
request.o: ../templates/patterncacher.h ../core/item.h
request.o: ../core/htmlfilter.h ../templates/templates.h ../../ezc/src/ezc.h
request.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
request.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
request.o: ../../ezc/src/funinfo.h ../templates/patterncacher.h
request.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
request.o: ../core/log.h ../templates/indexpatterns.h
request.o: ../templates/localefilter.h ../templates/locale.h
request.o: ../core/confparser.h ../core/sessionmanager.h
session.o: session.h item.h error.h user.h plugindata.h rebus.h misc.h
sessioncontainer.o: sessioncontainer.h session.h item.h error.h user.h
sessioncontainer.o: plugindata.h rebus.h lastcontainer.h log.h textstream.h
sessioncontainer.o: misc.h
sessioncontainer.o: plugindata.h rebus.h lastcontainer.h request.h
sessioncontainer.o: requesttypes.h config.h confparser.h htmlfilter.h
sessioncontainer.o: textstream.h log.h misc.h
sessionmanager.o: sessionmanager.h sessioncontainer.h session.h item.h
sessionmanager.o: error.h user.h plugindata.h rebus.h lastcontainer.h
sessionmanager.o: config.h confparser.h htmlfilter.h request.h requesttypes.h
sessionmanager.o: request.h requesttypes.h config.h confparser.h htmlfilter.h
sessionmanager.o: textstream.h system.h dirs.h dircontainer.h ../db/db.h
sessionmanager.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
sessionmanager.o: ../core/textstream.h misc.h ../core/error.h log.h
@@ -303,35 +290,35 @@ sessionmanager.o: mount.h mountparser.h users.h ugcontainer.h groups.h
sessionmanager.o: group.h loadavg.h sessionparser.h plugin.h pluginmsg.h
sessionmanager.o: ../functions/functions.h ../functions/functionbase.h
sessionmanager.o: ../core/request.h ../core/config.h ../core/system.h
sessionmanager.o: ../core/notify.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
sessionmanager.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
sessionmanager.o: ../../ezc/src/stringconv.h ../../ezc/src/functions.h
sessionmanager.o: ../../ezc/src/funinfo.h ../functions/functionparser.h
sessionmanager.o: ../functions/adduser.h ../functions/cat.h
sessionmanager.o: ../functions/chmod.h ../functions/privchanger.h
sessionmanager.o: ../functions/chown.h ../functions/ckeditor.h
sessionmanager.o: ../functions/cp.h ../functions/createthread.h
sessionmanager.o: ../functions/default.h ../functions/download.h
sessionmanager.o: ../functions/emacs.h ../functions/last.h
sessionmanager.o: ../functions/login.h ../functions/logout.h
sessionmanager.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
sessionmanager.o: ../functions/node.h ../functions/priv.h
sessionmanager.o: ../functions/reload.h ../functions/rm.h ../functions/run.h
sessionmanager.o: ../functions/stat.h ../functions/subject.h
sessionmanager.o: ../functions/funthread.h ../functions/template.h
sessionmanager.o: ../functions/tinymce.h ../functions/uname.h
sessionmanager.o: ../functions/upload.h ../functions/uptime.h
sessionmanager.o: ../functions/who.h ../functions/vim.h ../core/htmlfilter.h
sessionmanager.o: ../templates/templates.h ../templates/patterncacher.h
sessionmanager.o: ../core/item.h ../templates/ckeditorgetparser.h
sessionmanager.o: ../core/httpsimpleparser.h ../core/log.h
sessionmanager.o: ../templates/indexpatterns.h ../templates/localefilter.h
sessionmanager.o: ../templates/locale.h ../core/confparser.h
sessionmanager.o: ../core/sessionmanager.h
sessionmanager.o: ../core/notify.h ../../ezc/src/utf8.h
sessionmanager.o: ../functions/functionparser.h ../functions/adduser.h
sessionmanager.o: ../functions/cat.h ../functions/chmod.h
sessionmanager.o: ../functions/privchanger.h ../functions/chown.h
sessionmanager.o: ../functions/ckeditor.h ../functions/cp.h
sessionmanager.o: ../functions/createthread.h ../functions/default.h
sessionmanager.o: ../functions/download.h ../functions/emacs.h
sessionmanager.o: ../functions/last.h ../functions/login.h
sessionmanager.o: ../functions/logout.h ../functions/ls.h
sessionmanager.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
sessionmanager.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
sessionmanager.o: ../functions/run.h ../functions/stat.h
sessionmanager.o: ../functions/subject.h ../functions/funthread.h
sessionmanager.o: ../functions/template.h ../functions/tinymce.h
sessionmanager.o: ../functions/uname.h ../functions/upload.h
sessionmanager.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
sessionmanager.o: ../core/htmlfilter.h ../templates/templates.h
sessionmanager.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
sessionmanager.o: ../../ezc/src/pattern.h ../../ezc/src/stringconv.h
sessionmanager.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
sessionmanager.o: ../templates/patterncacher.h
sessionmanager.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
sessionmanager.o: ../core/log.h ../templates/indexpatterns.h
sessionmanager.o: ../templates/localefilter.h ../templates/locale.h
sessionmanager.o: ../core/confparser.h ../core/sessionmanager.h
sessionparser.o: sessionparser.h session.h item.h error.h user.h plugindata.h
sessionparser.o: rebus.h sessioncontainer.h lastcontainer.h users.h
sessionparser.o: ugcontainer.h request.h requesttypes.h config.h confparser.h
sessionparser.o: htmlfilter.h textstream.h ../db/db.h ../db/dbbase.h
sessionparser.o: rebus.h sessioncontainer.h lastcontainer.h request.h
sessionparser.o: requesttypes.h config.h confparser.h htmlfilter.h
sessionparser.o: textstream.h users.h ugcontainer.h ../db/db.h ../db/dbbase.h
sessionparser.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
sessionparser.o: misc.h ../core/error.h log.h ../db/dbitemquery.h
sessionparser.o: ../core/item.h ../db/dbitemcolumns.h ../core/user.h
@@ -351,10 +338,10 @@ system.o: ../../ezc/src/pattern.h ../../ezc/src/stringconv.h
system.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h ../core/mount.h
system.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h
system.o: ../templates/locale.h ../core/confparser.h ../templates/templates.h
system.o: ../templates/patterncacher.h ../core/item.h
system.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
system.o: ../core/log.h ../templates/indexpatterns.h ../core/request.h
system.o: ../core/system.h ../core/sessionmanager.h
system.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
system.o: ../core/httpsimpleparser.h ../core/log.h
system.o: ../templates/indexpatterns.h ../core/request.h ../core/system.h
system.o: ../core/sessionmanager.h
textstream.o: textstream.h misc.h item.h
users.o: users.h user.h ugcontainer.h lastcontainer.h request.h
users.o: requesttypes.h session.h item.h error.h plugindata.h rebus.h