284 Commits

Author SHA1 Message Date
goldsimon
dbd6d7ec8d bug #26027: netbuf_chain resulted in pbuf memory leak 2009-04-15 14:57:32 +00:00
goldsimon
b3a5d6df0d bug #25763: Corrected 4 occurrences of SMEMCPY to MEMCPY; corrected indentation 2009-04-15 14:48:56 +00:00
goldsimon
3587e8481d bug #26121: set_errno can be overridden 2009-04-15 14:33:05 +00:00
kieranm
7d8fac62ec Fix compiler warning about %#p 2009-03-25 11:02:24 +00:00
goldsimon
c05e968278 Fixed many LWIP_DEBUGF format strings; added new format string SZT_F for size_t 2009-02-18 21:13:06 +00:00
goldsimon
14cb4eb735 fixed arguments of socket functions to match the standard; converted size argument of netconn_write to 'size_t' for that; fixed some warnings 2009-02-16 19:33:51 +00:00
goldsimon
8c7705bbf9 added configurable default valud for netconn->recv_bufsize: RECV_BUFSIZE_DEFAULT (fixes bug #23726: pbuf pool exhaustion on slow recv()) 2009-02-11 19:07:22 +00:00
goldsimon
b0c61ffbb1 Reverted last changes since it's wrong when sizeof(int)==2... 2008-12-20 12:24:41 +00:00
goldsimon
aa568727d1 patch #6699: fixed some warnings on platform where sizeof(int) == 2 2008-12-19 18:08:29 +00:00
fbernon
411cb39eb4 sockets.c: fixed bug #25051: lwip_recvfrom problem with udp: fromaddr and port uses deleted netbuf. 2008-12-10 21:36:44 +00:00
jifl
1f3fe200df Correct commented description of do_recv().
Reported by Charles Landau on lwip-users.
2008-11-12 19:14:21 +00:00
jifl
1d2804d6a2 * sockets.c (lwip_accept): Return EWOULDBLOCK if would block on non-blocking
socket.
2008-10-02 13:59:18 +00:00
jifl
0d7dccba5e * sockets.c (lwip_accept): check addr isn't NULL. If it's valid, do an
assertion check that addrlen isn't NULL.
2008-09-30 14:51:27 +00:00
goldsimon
c779a9f29f Fixed some warnings, changed some debug defines to include better names 2008-07-16 20:36:12 +00:00
goldsimon
ae2d5266c5 removed invalid call to tcp_connect() in do_close_internal() 2008-07-15 11:18:58 +00:00
goldsimon
99db244124 fixed bug #23847: do_close_internal references freed memory 2008-07-14 20:12:36 +00:00
goldsimon
95b15fe463 Fix typo, add comment 2008-06-27 20:34:51 +00:00
jifl
a3bc6cd666 * err.h, err.c, sockets.c: Fix bug #23119: Reorder timeout error code to
stop it being treated as a fatal error.
2008-05-09 12:14:23 +00:00
goldsimon
05587f5da9 Changed the pbuf_free/mem_free callback functions a little: created extra functions for that 2008-03-28 07:56:47 +00:00
goldsimon
43dd38df0a fixed bug #21433 (Calling mem_free/pbuf_free from interrupt context isn't safe): set LWIP_USE_HEAP_FROM_INTERRUPT to 1 in lwipopts.h or use tcpip_callback_nonblocking(pbuf_free_int, p)/ tcpip_callback_nonblocking(mem_free, m) to free pbufs or heap memory from interrupt context 2008-03-27 19:29:35 +00:00
fbernon
7774b57a1c api_msg.c: fix wrong mailbox invalidate (NULL was used instead of SYS_MBOX_NULL). Spoted by Silas Boyd-Wickizer. 2008-03-21 16:23:14 +00:00
goldsimon
90cb4b4e09 Corrected comment in do_writemore() 2008-03-19 20:59:59 +00:00
fbernon
e07d71f5e8 sockets.c: Fix bug #22435 "lwip_recvfrom with TCP break;". Using (lwip_)recvfrom with valid "from" and "fromlen" parameters, on a TCP connection caused a crash. Note that using (lwip_)recvfrom like this is a bit slow and that using (lwip)getpeername is the good lwip way to do it (so, using recv is faster on tcp sockets). 2008-03-13 20:03:57 +00:00
fbernon
afcf49ad3a api_msg.c: minor change, fix warning. 2008-03-13 19:57:11 +00:00
fbernon
a2f1892480 api_msg.c: fix the netbuf::addr field to point on the ip_src on the pbuf's copy (about bug#22530). 2008-03-12 12:58:07 +00:00
fbernon
552106e2a4 api_msg.c: Fix bug #22530 "api_msg.c's recv_raw() does not consume data". 2008-03-12 10:55:54 +00:00
fbernon
7b11fb75d9 Minor changes: replace directy call to memcpy by MEMCPY macro. 2008-01-26 16:11:39 +00:00
fbernon
7518acf634 rawapi.txt, api_msg.c, tcp.c, tcp_in.c, tcp.h: changes for task #7675 "Enable to refuse data on a TCP_EVENT_RECV call". Important, behavior changes for the tcp_recv callback (see rawapi.txt). 2008-01-14 21:07:08 +00:00
fbernon
55bcc20deb tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::sem per netconn::op_completed like suggested for the task #7490 "Add return value to sys_mbox_post". 2008-01-12 11:52:21 +00:00
fbernon
9906e4c984 api_msg.c, opt.h: replace DEFAULT_RECVMBOX_SIZE per DEFAULT_TCP_RECVMBOX_SIZE, DEFAULT_UDP_RECVMBOX_SIZE and DEFAULT_RAW_RECVMBOX_SIZE (to optimize queues sizes), like suggested for the task #7490 "Add return value to sys_mbox_post". 2008-01-11 23:50:10 +00:00
fbernon
4e40fee1db tcpip.h, tcpip.c: add tcpip_callback_with_block function for the task #7490 "Add return value to sys_mbox_post". tcpip_callback is always defined as "blocking" ("block" parameter = 1). 2008-01-10 21:47:52 +00:00
fbernon
bceff76c70 tcpip.h, tcpip.c, api.h, api_lib.c, api_msg.c, sockets.c: replace the field netconn::mbox (sys_mbox_t) per netconn::sem (sys_sem_t) for the task #7490 "Add return value to sys_mbox_post". 2008-01-10 21:34:25 +00:00
goldsimon
a41f113b8f Added function netconn_free(), which deallocates all mboxes and frees the netconn (to be used from different places) - the PCB is not freed! 2008-01-06 14:28:04 +00:00
fbernon
5941b3c86e sys_arch.txt, api.h, api_lib.c, api_msg.h, api_msg.c, tcpip.c, sys.h, opt.h: Introduce changes for task #7490 "Add return value to sys_mbox_post" with some modifications in the sys_mbox api: sys_mbox_new take a "size" parameters which indicate the number of pointers query by the mailbox. There is three defines in opt.h to indicate sizes for tcpip::mbox, netconn::recvmbox, and for the netconn::acceptmbox. Port maintainers, you can decide to just add this new parameter in your implementation, but to ignore it to keep the previous behavior. The new sys_mbox_trypost function return a value to know if the mailbox is full or if the message is posted. Take a look to sys_arch.txt for more details. This new function is used in tcpip_input (so, can be called in an interrupt context since the function is not blocking), and in recv_udp and recv_raw. 2008-01-05 21:10:32 +00:00
fbernon
9c4daa312d Minor changes in lwip folder: fix some warnings, coding style, and rename "internal" netconn_alloc function. 2008-01-04 23:07:44 +00:00
fbernon
32005617b9 rawapi.txt, api.h, api_lib.c, api_msg.h, api_msg.c, sockets.c, tcp.h, tcp.c, tcp_in.c, init.c, opt.h: rename backlog options with TCP_ prefix, limit the "backlog" parameter in an u8_t, 0 is interpreted as "smallest queue", add documentation in the rawapi.txt file. 2008-01-04 22:18:27 +00:00
goldsimon
1ed34774c8 tcp.h, opt.h, api.h, api_msg.h, tcp.c, tcp_in.c, api_lib.c, api_msg.c, sockets.c, init.c: task #7252: Implement TCP listen backlog: Warning: raw API applications have to call 'tcp_accepted(pcb)' in their accept callback to keep accepting new connections. 2007-12-21 16:47:56 +00:00
goldsimon
48e62e25e9 sys.h, api_lib.c, api_msg.c, sockets.c: fix bug #21698: "netconn->recv_avail is not protected" by using new macros for interlocked access to modify/test netconn->recv_avail. 2007-12-21 14:59:10 +00:00
goldsimon
ba4254231e Corrected assert when netconn_new_* fails 2007-12-16 16:15:08 +00:00
fbernon
2b54da5070 api_msg.c, err.h, err.c, sockets.c, dns.c, dns.h: replace "enum dns_result" by err_t type. Add a new err_t code "ERR_INPROGRESS". 2007-12-13 23:06:49 +00:00
fbernon
1dd1064051 Fix err_stderr[] table with new err.h defines. 2007-12-12 08:25:23 +00:00
fbernon
ac10470643 netdb.c: add a LWIP_DNS_API_HOSTENT_STORAGE option to decide to use a static set of variables (=0) or a local one (=1). In this last case, your port should provide a function "struct hostent* sys_thread_hostent( struct hostent* h)" which have to do a copy of "h" and return a pointer ont the "per-thread" copy. 2007-12-05 23:00:02 +00:00
goldsimon
113a52d091 fix bug #21656 (recvmbox problem in netconn API): always allocate a recvmbox in netconn_new_with_proto_and_callback. For a tcp-listen netconn, this recvmbox is later freed and a new mbox is allocated for acceptmbox. This is a fix for thread-safety and allocates all items needed for a netconn when the netconn is created. 2007-12-02 14:53:50 +00:00
goldsimon
6746beb2a3 Compacted code: moved the code creating a netconn (without pcb) from netconn_new_with_proto_and_callback to new (synchroneous) function netconn_alloc_with_proto_and_callback and call this function from netconn_new_with_proto_and_callback and accept_function. 2007-11-30 12:54:10 +00:00
goldsimon
03777ccb21 Changed error handling: ERR_MEM, ERR_BUF and ERR_RTE are seen as non-fatal, all other errors are fatal. netconns and sockets block most operations once they have seen a fatal error. 2007-11-27 21:15:44 +00:00
goldsimon
4dcfdac2f5 initialize netconn->socket to -1 instead of 0 since 0 is a valid socket! 2007-11-25 16:13:56 +00:00
goldsimon
9343b767f8 lock event_callback against lwip_accept for data that arrives right away after an accept (before lwip_accept has processed the new conn) 2007-11-25 16:04:38 +00:00
fbernon
77d9233427 Minor change (redundant code) 2007-11-25 15:32:29 +00:00
goldsimon
f63a3c1f62 Added an explaining comment for the line 'nsock->rcvevent += -1 - newconn->socket;' in lwip_accept 2007-11-25 14:33:23 +00:00
goldsimon
e1f49d990b Fix some warnings discovered by compiling the unixsim under cygwin (gcc pedantic) 2007-11-25 13:57:05 +00:00