Hi parrot,
unfortunatly you fail when I call your accept() op. I have fixed this
issue with attached patch.
You can test this with:
./parrot examples/io/httpd.pir
call http://localhost:1234/ from your browser.
$ ./parrot examples/io/httpd.pir
Binding to port 1234 on localhost.
The Parrot documentation can now be accessed at http://localhost:1234 .
accept: errno=22unknown method:''
Variable addrlen seems to be somehow optimized away.
DIFFSTAT:
CREDITS | 2 ++
src/io/io_unix.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
happy hacking,
Kiwi
> Hi parrot,
>
> unfortunatly you fail when I call your accept() op. I have fixed this
> issue with attached patch.
> The Parrot documentation can now be accessed at http://localhost:1234 .
> accept: errno=22unknown method:''
I don't get that error and I can't see, why changing the (not-reached)
diagnostic might fix accept.
The httpd.pir has different problems, though, which seem to be
protocol-related.
leo
Kiwi,
I also don't experience this error but instead for me httpd.pir fails
at bind() [see RT #39738] on Darwin and FreeBSD. On which platform
does accept() fail for you? Which C compiler are you using? I agree
with Leo that your patch looks suspicious. If you are right that
just adding that diagnostic really does fix it, then it sounds like a
compiler bug that needs to be reported, or at least documented.
Chris
P.S. I've been working on some small improvements to httpd.pir,
including better failure diagnostics. Please contact me off-list for
a patch if you are interested.
--
Chris Dolan, Software Developer, http://www.chrisdolan.net/
Public key: http://www.chrisdolan.net/public.key
vCard: http://www.chrisdolan.net/ChrisDolan.vcf
This should be fixed now with r13332 (there was some confusion about sockaddr*
types and the len of these).
leo