{"action":"created","issue":{"url":"https://api.github.com/repos/civetweb/civetweb/issues/330","repository_url":"https://api.github.com/repos/civetweb/civetweb","labels_url":"https://api.github.com/repos/civetweb/civetweb/issues/330/labels{/name}","comments_url":"https://api.github.com/repos/civetweb/civetweb/issues/330/comments","events_url":"https://api.github.com/repos/civetweb/civetweb/issues/330/events","html_url":"https://github.com/civetweb/civetweb/issues/330","id":167606300,"number":330,"title":"Bug: civetweb 1.8 if we set request_time_out to 0","user":{"login":"xR3b0rn","id":6249046,"avatar_url":"https://avatars.githubusercontent.com/u/6249046?v=3","gravatar_id":"","url":"https://api.github.com/users/xR3b0rn","html_url":"https://github.com/xR3b0rn","followers_url":"https://api.github.com/users/xR3b0rn/followers","following_url":"https://api.github.com/users/xR3b0rn/following{/other_user}","gists_url":"https://api.github.com/users/xR3b0rn/gists{/gist_id}","starred_url":"https://api.github.com/users/xR3b0rn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xR3b0rn/subscriptions","organizations_url":"https://api.github.com/users/xR3b0rn/orgs","repos_url":"https://api.github.com/users/xR3b0rn/repos","events_url":"https://api.github.com/users/xR3b0rn/events{/privacy}","received_events_url":"https://api.github.com/users/xR3b0rn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-07-26T13:25:25Z","updated_at":"2016-08-07T20:03:53Z","closed_at":null,"body":"For now I have used civetweb 1.6, but updateting civetweb 1.6 to civetweb 1.8 leads to an confusing error.\r\nCause in read_request in civetweb.c the request_time_out parameter gets queried by\r\n```\r\n\tif (conn->ctx->config[REQUEST_TIMEOUT]) {\r\n\t\t/* value of request_timeout is in seconds, config in milliseconds */\r\n\t\trequest_timeout = atof(conn->ctx->config[REQUEST_TIMEOUT]) / 1000.0;\r\n\t} else {\r\n\t\trequest_timeout = -1.0;\r\n\t}\r\n```\r\nSo although when my request_time_out parameter is \"0\", the if continues inside.\r\nNormally the programm shouldn't cause now request_timeout gets set to 0 instead of -1.0 what makes the server to close unexpected the connection.\r\nWithout an change in the sourcecode I am not able to set the request time out to infinity.\r\n\r\nJulian"},"comment":{"url":"https://api.github.com/repos/civetweb/civetweb/issues/comments/238104921","html_url":"https://github.com/civetweb/civetweb/issues/330#issuecomment-238104921","issue_url":"https://api.github.com/repos/civetweb/civetweb/issues/330","id":238104921,"user":{"login":"bel2125","id":5619191,"avatar_url":"https://avatars.githubusercontent.com/u/5619191?v=3","gravatar_id":"","url":"https://api.github.com/users/bel2125","html_url":"https://github.com/bel2125","followers_url":"https://api.github.com/users/bel2125/followers","following_url":"https://api.github.com/users/bel2125/following{/other_user}","gists_url":"https://api.github.com/users/bel2125/gists{/gist_id}","starred_url":"https://api.github.com/users/bel2125/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bel2125/subscriptions","organizations_url":"https://api.github.com/users/bel2125/orgs","repos_url":"https://api.github.com/users/bel2125/repos","events_url":"https://api.github.com/users/bel2125/events{/privacy}","received_events_url":"https://api.github.com/users/bel2125/received_events","type":"User","site_admin":false},"created_at":"2016-08-07T20:03:53Z","updated_at":"2016-08-07T20:03:53Z","body":"If you do not need cross platform code, but stick to either Windows or Linux, you already have a timer mechanism. If you need cross platform code, and use some other (major) cross platform library (not only ANSI C), you most likely already have a timer as well. \r\nFor this reasons, I thought up to now there would be no need to use my timer mechanism outside, so the functions are static and there is no interface. But if there is indeed need, I would also consider to add it to the public interface as auxiliary function (like the function for creating a thread).\r\n\r\nOf course you are free to use my timer mechanism and modify it yourself - the MIT license allows this, but there is no guarantee it works. It the only thing you need is a public interface to what already exits, I can add this (I will queue this on my TODO list).\r\n"}}
{"actor":{"display_login":"bel2125"}}