Hi Alex,

On Tue, Mar 15, 2011 at 2:44 PM, Alexander Burger <a...@software-lab.de> wrote:
> 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.

a-ha. yes.

>
>
>> 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.

ah. thank you. was wondering why that was.

>
> 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:picolisp@software-lab.de?subject=Unsubscribe
>
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to