Posted: Sun Aug 19, 2012 8:37 Post subject: DD-WRT httpd hangs / times out with multiple connections?
DD-WRT httpd hangs / times out with multiple connections bug?
I am experiencing slow downs of the web server with Opera 12 and with old and new DD-WRT builds (such as 17201 and 19519).
It takes at most 15 seconds to load a page, and it blocks the web server. I cannot access the web interface from any other browser during this 15-second loading period.
I have modified the milli_httpd source code to work on Ubuntu, and I was able to reproduce the hanging bug in milli_httpd. When I tested mini-httpd 1.19-9.2build1 and micro-httpd 20051212-13, they did not hang. Although the bug is neither in mini-httpd nor micro-httpd, it appears to be a bug only in milli_httpd.
This time, milli_httpd hangs on a JS file for about 25 seconds instead of 15 seconds, probably because the 15-second timeout code is absent. When you check by going to Opera Dragonfly's network tab, make sure that you disable all caching in the network options so that Opera will send requests for all files.
Here is my milli_httpd modified source code and binary:
Opera > Page > Developer Tools > Opera Dragonfly > Network > Network options > Under "Caching behavior", enable "Disable all caching".
Navigate to http://127.0.0.1/index.html or to other IPs. Local host access may not reveal any hangs, so please also try accessing the web server on the local network.
The included "www" directory contains a sample webpage from the latest DD-WRT build 19519 (2012-07-20).
When you want to set a static IP address, in "httpd.c", you have to modify the string:
Code:
ipaddr = "";
Then, set:
Code:
disable_router = 0;
The working directory should contain the web files that you want to serve. You can change it on this line in "httpd.c":
Code:
chdir("www/");
---
There are also related threads on the Opera forums discussing this issue: