On 10/4/20 12:06 AM, Massimo MANGHI wrote:
Rivet 3.2.0 comes with a few new features and several internal modifications that are supposed to be transparent. -- Internals * The relevant improvement with respect to 3.1 is the change in the thread policy in the default response to the exit command. It's stressed in several points of the manual that 'exit' (shadowed by ::rivet::exit) is not a command to be used in regular web development, but the exit command could be nested in third party software and it's part of the Tcl language in the first place, so it demands meaning. With the worker bridge 'exit' now by default terminates a single thread. It has been noticed that some extensions don't behave well when Tcl_InterpDelete is called, but it seems a problem pertaining specific extension classes or specific single extensions, so there is no point in having a more flexible embedding of Tcl for fear of stumbling in one of them. Setting RivetServerConf SingleThreadExit Off in the configuration restores the old policy of demading all threads in a child process to exit and then calling Tcl_Exit. The prefork bridge is unaffected.
This section of the release notes needs expansion. The single thread exit feature is a new feature. It allows threads to exit after releasing their resources and deleting their interpreters. From the point of view of the programmer this feature enables threads in the worker bridge to behave pretty much like child process (though the resource management is critical with threads) We released 3.1 so long ago that I wrongly assumed the SingleThreadExit feature was already in it. I started to work on it in a separate branch that I merged into master after 3.1 was released. -- Massimo Firma il tuo 5 per mille all’Università di Parma e aiuta così i nostri studenti che vogliono realizzare un’esperienza di studio all’estero - Indica 00308780345 nella tua denuncia dei redditi. --------------------------------------------------------------------- To unsubscribe, e-mail: rivet-dev-unsubscr...@tcl.apache.org For additional commands, e-mail: rivet-dev-h...@tcl.apache.org