Hi Edwin, > (de app () > (unless *SesId > (setq > *Port% (not *Gate) > *SesId (pack (in "/dev/urandom" (rd 7)) "~") > *Sock (port *HPorts '*Port) ) > (timeout *Timeout) ) ) > > from there, *Sesid and *Timeout are per per child globals. that much
Right. In fact, the whole environment (global as well as local) is private for each child. > i can infer. *Gate is a flag for usage of httpGate? how about *Port%? Yes. '*Gate' is an indicator that the communication with the client runs via 'httpGate'. It is used to construct internal link addresses, base hrefs etc. '*Port%' is related to that. It is a flag which is set only temporarily in the initial phase of a session, to suppress AJAX transfers (and thus fall back to plain HTTP transfers) for the _first_ transaction of a child process. The reason is that AJAX transfers fail if the port changed. It seems to believe that the request is from another server (according to the rule is that XMLHttpRequests can only access content from the originating server), despite the IP address is the same, just another port number. Cheers, - Alex -- UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe
