Re: [naviserver-devel] Global variables not cloned?!

2017-08-29 Thread Gustaf Neumann

Dear Rodrigo,

Some of the man pages are unfortunately quite old and show many 
potential for improvements.

Please check the updated documentation at
https://bitbucket.org/naviserver/naviserver/commits/8c036c9c5b830d24c469eb1eb4a6c395fdf73226

in short: the blueprint contains just namespaced variables (global 
variables, which are not
in the topmost namespace "::"). If your application needs global 
variables in the interpreter,

define your own Tcl namespace and keep your variables there.

all the best
-gn


Am 28.08.17 um 9:39 AM schrieb Roderick:


In naviserver-4.99.15/doc/html/manual/files/tcl-overview.html we read:




Tcl Interpreters

During NaviServer initialization, only one interpreter exists. While 
modules are loaded and initialized, they may add procedures to the 
interpreter. When initialization is complete (all modules are loaded 
and all Tcl libraries have been executed), the interpreter may no 
longer be changed.


Each connection thread that requires Tcl will create a copy of the 
original interpreter.

<<<

That they may add procedures does not exclude that they also may
add global variables.

After some experiments, it seems to me that at some point global
variables in the loaded modules *and* libraries are unset, I suppose
immeadately after modules are loaded and libraries are executed.
Is it true? When it happens? An explicit hint to it in the documentation
would help beginners a lot.

It is a question of taste: I would preffer to decide what variables
to unset and not let the server do it automatically, but it could
be a source of chaos.

Thanks
Rodrigo.

-- 


Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel



--
Univ.Prof. Dr. Gustaf Neumann
WU Vienna
Institute of Information Systems and New Media
Welthandelsplatz 1, A-1020 Vienna, Austria


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel


[naviserver-devel] Global variables not cloned?!

2017-08-28 Thread Roderick


In naviserver-4.99.15/doc/html/manual/files/tcl-overview.html we read:




Tcl Interpreters

During NaviServer initialization, only one interpreter exists. While 
modules are loaded and initialized, they may add procedures to the 
interpreter. When initialization is complete (all modules are loaded and 
all Tcl libraries have been executed), the interpreter may no longer be 
changed.


Each connection thread that requires Tcl will create a copy of the 
original interpreter.

<<<

That they may add procedures does not exclude that they also may
add global variables.

After some experiments, it seems to me that at some point global
variables in the loaded modules *and* libraries are unset, I suppose
immeadately after modules are loaded and libraries are executed.
Is it true? When it happens? An explicit hint to it in the documentation
would help beginners a lot.

It is a question of taste: I would preffer to decide what variables
to unset and not let the server do it automatically, but it could
be a source of chaos.

Thanks
Rodrigo.

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel