lwIP - A Lightweight TCP/IP stack - Tasks: task #6930, Implement SO_LINGER
You are not allowed to post comments on this tracker with your current authentication level.
task #6930: Implement SO_LINGER
Submitter: | Simon Goldschmidt <goldsimon> | ||
Submitted: | Wed 23 May 2007 09:49:46 AM UTC | ||
Category: | TCP | Should Start On: | Wed 23 May 2007 12:00:00 AM UTC |
Should be Finished on: | Wed 23 May 2007 12:00:00 AM UTC | Priority: | 1 - Later |
Status: | Done | Privacy: | Public |
Assigned to: | goldsimon | Percent Complete: | 100% |
Open/Closed: | Closed | Planned Release: | None |
Effort: | 0.00 |
Jump to the original submission
Tue 10 Feb 2015 09:17:15 PM UTC, comment #26: |
Simon Goldschmidt <goldsimon> |
Mon 09 Jul 2007 01:03:14 PM UTC, comment #25: That's why I ask if this is also something legitimate... :) |
Frédéric Bernon <fbernon> |
Mon 09 Jul 2007 12:59:13 PM UTC, comment #24:
|
Simon Goldschmidt <goldsimon> |
Mon 09 Jul 2007 12:54:29 PM UTC, comment #23: I think that Simon change the CVS HEAD like you wish: the netconn_close call the do_close, which do the "do_close_internal" (using poll_tcp & sent_tcp to terminate the operation - if need). The same thing is done by netconn_delete (so, lwip_close doesn't need to call netconn_close).
|
Frédéric Bernon <fbernon> |
Mon 09 Jul 2007 12:41:56 PM UTC, comment #22: I can see that some users would want to keep netconn_close and netconn_delete separate, and moving the close functionality into the delete function would not work. I think it's legitimate for example to call netconn_close, then use the same netconn to open a new connection (without calling netconn_delete). I'd therefore prefer to keep these functions as is. |
Kieran Mansley <kieranm> |
Sun 01 Jul 2007 04:14:42 PM UTC, comment #21: I've attached a patch for the close problem at bug #20021 (the conn->sem thing).
|
Simon Goldschmidt <goldsimon> |
Sat 30 Jun 2007 07:37:12 AM UTC, comment #20: Hmm, although the function seems unnecessary and a little buggy (for a listening conn, tcp_close is called in netconn_close, the tcp gets freed, tcp_close may be called in netconn_delete again...), I think it's a little weird to not have a netconn_close function.
|
Simon Goldschmidt <goldsimon> |
Fri 29 Jun 2007 07:14:26 PM UTC, comment #19: So, ok to remove netconn_close. Perhaps just a define like this for source code compatibility?
|
Frédéric Bernon <fbernon> |
Fri 29 Jun 2007 04:28:58 PM UTC, comment #18:
|
Simon Goldschmidt <goldsimon> |
Fri 29 Jun 2007 04:16:41 PM UTC, comment #17:
|
Frédéric Bernon <fbernon> |
Fri 29 Jun 2007 03:58:19 PM UTC, comment #16: Why an empty netconn_close? What about netconn api software that relies on that functionality? After all, I think it's cleaner to close the connection in netconn_close and delete it in netconn_delete, like the names say.
|
Simon Goldschmidt <goldsimon> |
Fri 29 Jun 2007 03:42:53 PM UTC, comment #15: Perhaps it will be good to do an empty netconn_close for source code compatibility, and only do the job in netconn_delete? |
Frédéric Bernon <fbernon> |
Fri 29 Jun 2007 03:32:43 PM UTC, comment #14:
|
Simon Goldschmidt <goldsimon> |
Fri 29 Jun 2007 01:11:25 PM UTC, comment #13: A question about that: in the case of a web server, an external client connect my lwip http server and request a "big" file. The web server return the file (with the size in HTTP header), the client receive it, both close the connection.
|
Frédéric Bernon <fbernon> |
Thu 28 Jun 2007 02:58:34 PM UTC, comment #12: Re comment #10:
|
Simon Goldschmidt <goldsimon> |
Thu 28 Jun 2007 02:54:23 PM UTC, comment #11: Magnus Berglund wrote on lwip-devel:
|
Simon Goldschmidt <goldsimon> |
Thu 28 Jun 2007 08:07:45 AM UTC, comment #10: If I resume your idea:
|
Frédéric Bernon <fbernon> |
Tue 26 Jun 2007 06:34:46 PM UTC, comment #9: Not that I would really need netconn_close() since lwip_close() calls netconn_delete() but doesn't netconn_close/do_close simply have to call tcp_close() instead of tcp_output()? That way it would be the same behaviour for both (tcp timers and wait-states handle unsent/unacked data).
|
Simon Goldschmidt <goldsimon> |
Thu 24 May 2007 10:32:35 AM UTC, comment #8: Ooops, that shouldn't get sent since I discovered that the summary can be changed... Can we delete postings? :-) |
Simon Goldschmidt <goldsimon> |
Thu 24 May 2007 10:31:02 AM UTC, comment #7: Ha, only now I realize it: is it possible to chenge |
Simon Goldschmidt <goldsimon> |
Wed 23 May 2007 01:54:21 PM UTC, comment #6: Agreed: lets do SO_LINGER, and then if there's a compelling case for SO_DONTLINGER (which personally I doubt, but prepared to wait and see) we can make this decision then. |
Kieran Mansley <kieranm> |
Wed 23 May 2007 01:40:38 PM UTC, comment #5: It's something that we could talk once someone will implement the SO_LINGER (if someone do it...) |
Frédéric Bernon <fbernon> |
Wed 23 May 2007 01:37:45 PM UTC, comment #4: For the avoidance of doubt, my view is unchanged. |
Jonathan Larmour <jifl> |
Wed 23 May 2007 12:23:28 PM UTC, comment #3: I'm agree that SO_DONTLINGER is only a "helper" option for "Windows" application developers (you can do the same thing with SO_LINGER), but I think there is no real reason to add ~2-3 lines for that...
|
Frédéric Bernon <fbernon> |
Wed 23 May 2007 10:44:38 AM UTC, comment #2: Re comment #1
|
Simon Goldschmidt <goldsimon> |
Wed 23 May 2007 10:14:36 AM UTC, comment #1: Because SO_DONTLINGER would not add code to netconn api, but only to sockets api, I think we should add it. As I said in https://savannah.nongnu.org/bugs/?19157, comment #25:
|
Frédéric Bernon <fbernon> |
Wed 23 May 2007 09:49:46 AM UTC, original submission:
Remove SO_DONTLINGER since it's Microsoft'ish.
|
Simon Goldschmidt <goldsimon> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 7 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2015-02-10 | goldsimon | Status | None | Done | |
Percent Complete | 0% | 100% | |||
Assigned to | None | goldsimon | |||
Open/Closed | Open | Closed | |||
2013-01-15 | goldsimon | Category | None | TCP | |
2007-06-26 | goldsimon | Attached File | - | Added netconn_close.patch, #13178 | |
2007-05-24 | goldsimon | Summary | Impelemt SO_LINGER | Implement SO_LINGER |
Powered by Savane 3.13-caa5.
Corresponding source code
Done.