Thank you, Massimo, for the good E-Mail. The slave interpreter issue was not on my radar and should probably be attacked too - bug id, demo script ?
I wondered why TCL is not shut down properly with Tcl_Finalise. Well, there is written, that there is interaction with WebSH. What practically happens up to now if Tcl_Finalize is called in the slave interpreter is, that the Notifier Thread of the master interpreter is stopped due to the still open pipe link. This might be the reason, why there is any interaction with Websh (and of cause also Rivet, as all Rivet slaves have this connection. IMHO, fileevents must work, otherwise Rivet is not functional. To reach this, I only see: 1) create interpreters only in worker threads and not in the master thread on an unpatched TCL 2) in a patched or newer version of TCL, the current way may be used. Then, Tcl_InitNotifier and Tcl_FinalizeNotifier calls should be inserted in child initialization and deletion. I only see doing this: - by auto-detection of the tcl version (>=8.6.1, >=8.5.15) - by a parameter - or a combination, to say, do autodetection, and for older TCL's, use 2 only after a parameter like "--broken-master-interpreter". The call to "Tcl_InitNotifier" does not harm currently and may be immediately included. I am sorry, this sounds hard, but I see no alternative... My admiration to all active people, enjoy the beautiful summer, we will bike to the wine yards this evening and on friday, dance tango outside as, a friend told, his italien friends do... Harald --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
