mirror of
https://github.com/apache/nuttx.git
synced 2026-09-21 13:25:12 +08:00
Fix a error introduced with nxmq_receive(); update TODO list.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
NuttX TODO List (Last updated October 9, 2017)
|
||||
NuttX TODO List (Last updated October 10, 2017)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
||||
@@ -248,9 +248,18 @@ o Task/Scheduler (sched/)
|
||||
semaphores used in the OS. Still need to checkout signals
|
||||
and messages queues that are also used in the OS. Also
|
||||
backed out commit b4747286b19d3b15193b2a5e8a0fe48fa0a8638c.
|
||||
2017-10-86: This change has been completed for the case of
|
||||
2017-10-06: This change has been completed for the case of
|
||||
signals used in the OS. Still need to checkout messages
|
||||
queues that are also used in the OS.
|
||||
2017-10-10: This change has been completed for the case of
|
||||
message queue used in the OS. I am keeping this issue
|
||||
open because (1) there are some known remaining calls that
|
||||
that will modify the errno (such as dup(), dup2(),
|
||||
sched_getparam(), sched_reprioritize(). sched_setaffinity(),
|
||||
task_activate(), mq_open(), mq_close(), and others) and (2)
|
||||
there may still be calls that create cancellation points.
|
||||
Need to check things like open(), close(), read(), write(),
|
||||
and possibly others.
|
||||
|
||||
Status: Open
|
||||
Priority: Low. Things are working OK the way they are. But the design
|
||||
|
||||
@@ -121,10 +121,10 @@ static inline void nx_disconnected(FAR struct nxfe_conn_s *conn)
|
||||
int nx_eventhandler(NXHANDLE handle)
|
||||
{
|
||||
FAR struct nxfe_conn_s *conn = (FAR struct nxfe_conn_s *)handle;
|
||||
struct nxsvrmsg_s *msg;
|
||||
struct nxbe_window_s *wnd;
|
||||
char buffer[NX_MXCLIMSGLEN];
|
||||
int nbytes;
|
||||
struct nxsvrmsg_s *msg;
|
||||
struct nxbe_window_s *wnd;
|
||||
char buffer[NX_MXCLIMSGLEN];
|
||||
int nbytes;
|
||||
|
||||
/* Get the next message from our incoming message queue */
|
||||
|
||||
@@ -133,7 +133,7 @@ int nx_eventhandler(NXHANDLE handle)
|
||||
nbytes = _MQ_RECEIVE(conn->crdmq, buffer, NX_MXCLIMSGLEN, 0);
|
||||
if (nbytes < 0)
|
||||
{
|
||||
int errcode = _MQ_GETERRNO(ret);
|
||||
int errcode = _MQ_GETERRNO(nbytes);
|
||||
|
||||
/* EINTR is not an error. The wait was interrupted by a signal and
|
||||
* we just need to try reading again.
|
||||
@@ -152,7 +152,7 @@ int nx_eventhandler(NXHANDLE handle)
|
||||
else
|
||||
{
|
||||
gerr("ERROR: _MQ_RECEIVE failed: %d\n", errcode);
|
||||
_MQ_SETERRNO(ret);
|
||||
_MQ_SETERRNO(nbytes);
|
||||
return ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user