mirror of
https://github.com/cesanta/mongoose.git
synced 2026-11-12 16:50:21 +00:00
Merge pull request #2134 from cesanta/freertos-tcp
Fix FreeRTOS-Plus-TCP
This commit is contained in:
4 files changed
+34
-26
No files matched your search
+3
-2
@@ -4598,8 +4598,9 @@ static void mg_iotest(struct mg_mgr *mgr, int ms) {
|
|||||||
EventBits_t bits = FreeRTOS_FD_ISSET(c->fd, mgr->ss);
|
EventBits_t bits = FreeRTOS_FD_ISSET(c->fd, mgr->ss);
|
||||||
c->is_readable = bits & (eSELECT_READ | eSELECT_EXCEPT) ? 1U : 0;
|
c->is_readable = bits & (eSELECT_READ | eSELECT_EXCEPT) ? 1U : 0;
|
||||||
c->is_writable = bits & eSELECT_WRITE ? 1U : 0;
|
c->is_writable = bits & eSELECT_WRITE ? 1U : 0;
|
||||||
FreeRTOS_FD_CLR(c->fd, mgr->ss,
|
if (c->fd != MG_INVALID_SOCKET)
|
||||||
eSELECT_READ | eSELECT_EXCEPT | eSELECT_WRITE);
|
FreeRTOS_FD_CLR(c->fd, mgr->ss,
|
||||||
|
eSELECT_READ | eSELECT_EXCEPT | eSELECT_WRITE);
|
||||||
}
|
}
|
||||||
#elif MG_ENABLE_EPOLL
|
#elif MG_ENABLE_EPOLL
|
||||||
size_t max = 1;
|
size_t max = 1;
|
||||||
|
|||||||
+14
-11
@@ -537,17 +537,20 @@ int sscanf(const char *, const char *, ...);
|
|||||||
#define SO_ERROR 0
|
#define SO_ERROR 0
|
||||||
#define SOL_SOCKET 0
|
#define SOL_SOCKET 0
|
||||||
#define SO_REUSEADDR 0
|
#define SO_REUSEADDR 0
|
||||||
#undef EINTR
|
|
||||||
#undef EWOULDBLOCK
|
#define MG_SOCK_ERR(errcode) ((errcode) < 0 ? (errcode) : 0)
|
||||||
#undef EINPROGRESS
|
|
||||||
#undef EPIPE
|
#define MG_SOCK_PENDING(errcode) \
|
||||||
#undef ECONNRESET
|
((errcode) == -pdFREERTOS_ERRNO_EWOULDBLOCK || \
|
||||||
#define EINTR pdFREERTOS_ERRNO_EINTR
|
(errcode) == -pdFREERTOS_ERRNO_EISCONN || \
|
||||||
#define EWOULDBLOCK pdFREERTOS_ERRNO_EWOULDBLOCK
|
(errcode) == -pdFREERTOS_ERRNO_EINPROGRESS || \
|
||||||
#define EINPROGRESS pdFREERTOS_ERRNO_EINPROGRESS
|
(errcode) == -pdFREERTOS_ERRNO_EAGAIN)
|
||||||
#define EPIPE 0
|
|
||||||
#define ECONNRESET 0
|
#define MG_SOCK_RESET(errcode) ((errcode) == -pdFREERTOS_ERRNO_ENOTCONN)
|
||||||
#define EINTR pdFREERTOS_ERRNO_EINTR
|
|
||||||
|
// actually only if optional timeout is enabled
|
||||||
|
#define MG_SOCK_INTR(fd) (fd == NULL)
|
||||||
|
|
||||||
#define sockaddr_in freertos_sockaddr
|
#define sockaddr_in freertos_sockaddr
|
||||||
#define sockaddr freertos_sockaddr
|
#define sockaddr freertos_sockaddr
|
||||||
#define accept(a, b, c) FreeRTOS_accept((a), (b), (c))
|
#define accept(a, b, c) FreeRTOS_accept((a), (b), (c))
|
||||||
|
|||||||
+14
-11
@@ -23,17 +23,20 @@
|
|||||||
#define SO_ERROR 0
|
#define SO_ERROR 0
|
||||||
#define SOL_SOCKET 0
|
#define SOL_SOCKET 0
|
||||||
#define SO_REUSEADDR 0
|
#define SO_REUSEADDR 0
|
||||||
#undef EINTR
|
|
||||||
#undef EWOULDBLOCK
|
#define MG_SOCK_ERR(errcode) ((errcode) < 0 ? (errcode) : 0)
|
||||||
#undef EINPROGRESS
|
|
||||||
#undef EPIPE
|
#define MG_SOCK_PENDING(errcode) \
|
||||||
#undef ECONNRESET
|
((errcode) == -pdFREERTOS_ERRNO_EWOULDBLOCK || \
|
||||||
#define EINTR pdFREERTOS_ERRNO_EINTR
|
(errcode) == -pdFREERTOS_ERRNO_EISCONN || \
|
||||||
#define EWOULDBLOCK pdFREERTOS_ERRNO_EWOULDBLOCK
|
(errcode) == -pdFREERTOS_ERRNO_EINPROGRESS || \
|
||||||
#define EINPROGRESS pdFREERTOS_ERRNO_EINPROGRESS
|
(errcode) == -pdFREERTOS_ERRNO_EAGAIN)
|
||||||
#define EPIPE 0
|
|
||||||
#define ECONNRESET 0
|
#define MG_SOCK_RESET(errcode) ((errcode) == -pdFREERTOS_ERRNO_ENOTCONN)
|
||||||
#define EINTR pdFREERTOS_ERRNO_EINTR
|
|
||||||
|
// actually only if optional timeout is enabled
|
||||||
|
#define MG_SOCK_INTR(fd) (fd == NULL)
|
||||||
|
|
||||||
#define sockaddr_in freertos_sockaddr
|
#define sockaddr_in freertos_sockaddr
|
||||||
#define sockaddr freertos_sockaddr
|
#define sockaddr freertos_sockaddr
|
||||||
#define accept(a, b, c) FreeRTOS_accept((a), (b), (c))
|
#define accept(a, b, c) FreeRTOS_accept((a), (b), (c))
|
||||||
|
|||||||
+3
-2
@@ -499,8 +499,9 @@ static void mg_iotest(struct mg_mgr *mgr, int ms) {
|
|||||||
EventBits_t bits = FreeRTOS_FD_ISSET(c->fd, mgr->ss);
|
EventBits_t bits = FreeRTOS_FD_ISSET(c->fd, mgr->ss);
|
||||||
c->is_readable = bits & (eSELECT_READ | eSELECT_EXCEPT) ? 1U : 0;
|
c->is_readable = bits & (eSELECT_READ | eSELECT_EXCEPT) ? 1U : 0;
|
||||||
c->is_writable = bits & eSELECT_WRITE ? 1U : 0;
|
c->is_writable = bits & eSELECT_WRITE ? 1U : 0;
|
||||||
FreeRTOS_FD_CLR(c->fd, mgr->ss,
|
if (c->fd != MG_INVALID_SOCKET)
|
||||||
eSELECT_READ | eSELECT_EXCEPT | eSELECT_WRITE);
|
FreeRTOS_FD_CLR(c->fd, mgr->ss,
|
||||||
|
eSELECT_READ | eSELECT_EXCEPT | eSELECT_WRITE);
|
||||||
}
|
}
|
||||||
#elif MG_ENABLE_EPOLL
|
#elif MG_ENABLE_EPOLL
|
||||||
size_t max = 1;
|
size_t max = 1;
|
||||||
|
|||||||
Reference in new issue
Block a user