patchlwIP - A Lightweight TCP/IP stack - Patches: patch #6860, Add non-blocking support for...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #6860: Add non-blocking support for connect, and except set support in select

Submitted by:  Laura Garrett <laura4garrett>
Submitted on:  Thu 09 Jul 2009 01:12:21 PM UTC  
 
Category:  None Priority:  5 - Normal
Status:  Done Privacy:  Public
Assigned to:  Simon Goldschmidt <goldsimon> Open/Closed:  Closed
Planned Release:  1.4.0

( Jump to the original submission)

Fri 29 Jan 2010 11:06:42 PM UTC, comment #7: 

Finally checked in except set support for select, too. Sorry it took so long and thanks so much for the patch, Laura!

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Fri 29 Jan 2010 10:11:40 PM UTC, comment #6: 

Non-blocking connect should work now. I've merged the basic idea of patch #01 and improved it a lot. And I've found and fixed some corner cases in the netconn API, too. Any testing results regarding stability are greatly appreciated!

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Fri 08 Jan 2010 07:20:13 AM UTC, comment #5: 

I'm interested in non-blocking connect.
(I currently create threads to do this...)
Does the patch apply against 1.3.2 ?
It would be nice commit it.

Stephane Lesage <slesage>
Thu 03 Sep 2009 11:39:57 AM UTC, comment #4: 

For such a change we might be able to argue that changing netconn_connect() itself (rather than adding a new function) would be OK.

I'd rather avoid lots of options, and I think this should be a minimal addition to the code size if done carefully.

Kieran Mansley <kieranm>
Project Member
Wed 26 Aug 2009 09:22:05 PM UTC, comment #3: 

I'd rather create a new function netconn_connect_ext(..., u8_t flags) and pass the O_NONBLOCK in the flags instead of adding an "u8_t non_blocking" to the struct in order to keep its memory footprint low (the member "non_blocking" is not used afterwards).

Also, I'm tempted to make this an option to keep the impact low (code size, too) for people not using non-blocking sockets.

Simon Goldschmidt <goldsimon>
Project AdministratorIn charge of this item.
Sun 12 Jul 2009 08:35:40 AM UTC, comment #2: 

Hi,
As requested, I have separated the patch into two patches, and attached them here. Applies cleanly against 1.3.0.
However, there is a conceptual dependency - the non-blocking connect will be much less useful without the except fd-set support. Also, there is tiny bit of code interdependent - the code in err_tcp is modified by both patches, so the order of applying them is important.

Regards,
Laura.

Laura Garrett <laura4garrett>
Thu 09 Jul 2009 03:14:23 PM UTC, comment #1: 

Could you separate these out into two - one for the non-blocking connect, and one for the select except set?  They don't seem to be interdependent, so having them submitted separately will make it easier to understand the changes.

Kieran Mansley <kieranm>
Project Member
Thu 09 Jul 2009 01:12:21 PM UTC, original submission:  

Hi,

Attached is a patch implementing partial error reporting in select, and non-blocking connect for sockets which are set to be non-blocking.

I would be grateful for comments about it, and will be very happy to fix it until it is accepted to lwip's trunk.

 

Regards,
Laura Garrett

Laura Garrett <laura4garrett>

 

Attached Files
file #18410:  01_non_block_connect.patch added by laura4garrett (3KiB - application/octet-stream - As requested, I splitted to 2 files - non blocking connect implementation in one, except fd-set support in the other. The except FD-set patch will apply cleanly only after applying the non-blocking connect patch.)
file #18411:  02_except_fd_set.patch added by laura4garrett (4KiB - application/octet-stream - As requested, I splitted to 2 files - non blocking connect implementation in one, except fd-set support in the other. The except FD-set patch will apply cleanly only after applying the non-blocking connect patch.)
file #18393:  lwip_non_block_patch.diff added by laura4garrett (8KiB - application/octet-stream - The patch.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by slesage (Posted a comment)
  • -email is unavailable- added by goldsimon (Posted a comment)
  • -email is unavailable- added by kieranm (Posted a comment)
  • -email is unavailable- added by laura4garrett (Submitted the item)
  • -email is unavailable- added by laura4garrett
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    Follow 9 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-01-29 goldsimon StatusIn Progress => Done
        Open/ClosedOpen => Closed
    2009-08-26 goldsimon Assigned toNone => goldsimon
        StatusNone => In Progress
    2009-08-20 kieranm Planned ReleaseNone => 1.4.0
    2009-07-12 laura4garrett Attached File- => Added 01_non_block_connect.patch, #18410
        Attached File- => Added 02_except_fd_set.patch, #18411
    2009-07-09 laura4garrett Attached File- => Added lwip_non_block_patch.diff, #18393
        Carbon-Copy- => Added laura4garrett@gmail.com

    Back to the top


    Powered by Savane 3.5