Hi Alex,

>> I tried httpGate and found that it makes apps significantly less
>> responsive compared to connecting directly via specific port.  Is that
>> expected behaviour?
>
> Hm, strange. 'httpGate should not be a bottleneck, and I never observed
> any slow down.
>
> How strong is the effect (e.g. in millisecs)? Could you perhaps try to
> locate the reason? For example, can you see where it possibly hangs
> if you start it as
>
>    strace -f /.../httpGate ...

it had slow response (couple seconds delay] when running as root on
port 80.  I tried strace and it hang on read:

strace -f bin/httpGate 80 8080

[pid   856] alarm(420 <unfinished ...>
[pid   855] alarm(420 <unfinished ...>
[pid   856] <... alarm resumed> )       = 0
[pid   855] <... alarm resumed> )       = 420
[pid   856] write(5, "HTTP/1.1 200 OK\r\nServer: PicoLis"..., 2321 <unfinished \
..>
[pid   855] sigreturn( <unfinished ...>
[pid   856] <... write resumed> )       = 2321
[pid   855] <... sigreturn resumed> )   = ? (mask now [])
[pid   856] alarm(0 <unfinished ...>
[pid   855] read(5,  <unfinished ...>
[pid   856] <... alarm resumed> )       = 420
[pid   856] read(4, 

=======

[pid   857] read(5,  <unfinished ...>
[pid   859] getppid()                   = 857
[pid   859] read(4, "HTTP/1.1 200 OK\r\nServer: PicoLis"..., 4096) = 1751
[pid   859] kill(857, SIGUSR1 <unfinished ...>
[pid   857] <... read resumed> 0xffdd0f4c, 4096) = ? ERESTARTSYS (To be restart\
ed)
[pid   857] --- SIGUSR1 (User defined signal 1) @ 0 (0) ---
[pid   857] alarm(420)                  = 420
[pid   857] sigreturn( <unfinished ...>
[pid   859] <... kill resumed> )        = 0
[pid   857] <... sigreturn resumed> )   = ? (mask now [])
[pid   857] read(5,  <unfinished ...>
[pid   859] alarm(420)                  = 0
[pid   859] write(5, "HTTP/1.1 200 OK\r\nServer: PicoLis"..., 1751) = 1751
[pid   859] alarm(0)                    = 420
[pid   859] read(4, 

========

[pid   861] alarm(420 <unfinished ...>
[pid   860] alarm(420 <unfinished ...>
[pid   861] <... alarm resumed> )       = 0
[pid   860] <... alarm resumed> )       = 420
[pid   861] write(5, "HTTP/1.1 200 OK\r\nServer: PicoLis"..., 2321 <unfinished \
..>
[pid   860] sigreturn( <unfinished ...>
[pid   861] <... write resumed> )       = 2321
[pid   860] <... sigreturn resumed> )   = ? (mask now [])
[pid   861] alarm(0 <unfinished ...>
[pid   860] read(5,  <unfinished ...>
[pid   861] <... alarm resumed> )       = 420
[pid   861] read(4, 

The ======== line is when it hang.  Then I ^C and tried again on new
picolisp process.

However, when I tried it on port 8xxx it was fine.  Strange.  I do not
think this has a high prority as I found reasonable configuration
where it works for me;-)

Cheers,

Tomas
-- 
UNSUBSCRIBE: mailto:[EMAIL PROTECTED]

Reply via email to