Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: NIO
-
Labels:None
-
Number of attachments :
Description
From the mailing list:
cching AT mqsoftware.com:
We're trying to get jetty to honor an unlimited max idle connection
timeout (e.g. we don't want connections to timeout). I've looked at the
code and it appears that in AbstractConnector jetty does honor a value
of '0' to the socket timeout, e.g.:
protected void configure(Socket socket)
throws IOException
{
try
catch (Exception e)
{ Log.ignore(e); }}
Note:
if (_maxIdleTime >= 0)
socket.setSoTimeout(_maxIdleTime);
However, there is also a Timeout object that uses this maxIdleTime
setting as well in SelectorManager. The relevant Timeout code is in
Timeout.java (I think):
public Task expired()
{
long _expiry = _now-_duration;
if (_head._next!=_head)
{
Task task = _head._next;
if (task._timestamp>_expiry)
return null;
task.unlink();
synchronized (task)
return task;
}
return null;
}
_duration is what maxIdleTime is set to. This would appear to make the
expiry happen immediately
Activity
| Field | Original Value | New Value |
|---|---|---|
| Resolution | Fixed [ 1 ] | |
| Status | Open [ 1 ] | Resolved [ 5 ] |
Fixed in svn head, see rev 1929.