nuttx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [incubator-nuttx] xiaoxiang781216 edited a comment on pull request #963: Add more nx_ internal function
Date Mon, 04 May 2020 04:37:14 GMT

xiaoxiang781216 edited a comment on pull request #963:
URL: https://github.com/apache/incubator-nuttx/pull/963#issuecomment-623251247


   > There is an entry in the top-level TODO called "INTERNAL VERSIONS OF USER FUNCTIONS"
at line 212 (at present). Does these changes resolve those? I think not. These add the internal
interfaces, but do not change the caller of the interfaces.
   
   Yes, the caller need modify to call the internal interface which belong the final patch.
   
   > 
   > I have my own version of that same task. It has a little more detail:
   > 
   > ```
   >  6. errno/cancellation effort (in TODO list):
   >   - There are some known remaining calls that that will modify the
   >     errno such as (checked) grep :
   > 
   >     sched/:    dup(), dup2(), task_activate(), exec()
   
   exec should be exec_spawn? exec can be called directly through syscall but exec_spawn is
an internal function.
   
   >     binfmt/:   stat(), open(), lseek(), task_init(), task_activate(), sigaction(),
   >                ioctl(), mount(), on_exit(), and umount()
   >     drivers/:  stat(), open(), mq_send()
   >     graphics/: mq_close(), mq_open()
   >     configs/:  open() (at25_main.c is really user code)
   >     net/:      mkfifo(), unlink(), open()
   >     fs/:       ioctl(), mount(), umount2(), clock_gettime(), poll()
   > 
   
   mount/umount/umount2/mkfifo/unlink/clock_gettime need add the internal version.
   
   >   - Still need to rename all internal sched function in sched/sched.h
   >     and include/nuttx/sched.h like sched_ to nxsched_ .
   >   - There are still calls that create cancellation points:  open(),
   >     close(), and poll().
   >   - Need to fix things like mm_sem.c.  In the user phase of kernel
   >     build, it will call sem_wait() creating cancellation points
   >     on every allocate/free.  Same is true for use of other
   >     cancellation point functions in libc and libnx.
   >   - Check all use of get_errno(), "errno*[]=", "= errno"
   >     (all converted to get_errno(), set_errno()).
   >     All checked except for libc.  Still many references to get_errno()
   >     there that may be bogus.
   > ```
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



Mime
View raw message