Commit Graph

124 Commits

Author SHA1 Message Date
Gregory Nutt 3dca5eba15 Completes the Implementation of the TLS-based errno
- Remove per-thread errno from the TCB structure (pterrno)
- Remove get_errno() and set_errno() as functions.  The macros are still available as stubs and will be needed in the future if we need to access the errno from a different address environment (KERNEL mode).
- Add errno value to the tls_info_s structure definitions
- Move sched/errno to libs/libc/errno.  Replace old TCB access to the errno with TLS access to the errno.
2020-05-07 23:11:34 +01:00
YAMAMOTO Takashi 1ffa009c8b Revert "Don't generate .depend anymore"
This reverts commit 79af7fbf4e.

Because:

* btashton reported some issues in local builds:

  https://github.com/apache/incubator-nuttx/pull/603#issuecomment-602264860

* this might be related to the current CI breakage:

  > /bin/sh: 1: /__w/incubator-nuttx/incubator-nuttx/nuttx/tools/mkdeps: not found
2020-03-22 23:07:29 -05:00
Xiang Xiao 79af7fbf4e
Don't generate .depend anymore 2020-03-22 18:15:29 +00:00
Gregory Nutt 24468128de TLS: Simplify 2016-03-11 07:17:32 -06:00
Gregory Nutt 30b6ee96c9 Add basic definitions for TLS support 2016-03-10 11:56:33 -06:00
Gregory Nutt 49554fe4fc Move module support from binfmt/ to sched/ so that it can be configured and built independently from binfmt features 2015-12-12 07:09:17 -06:00
Gregory Nutt d7843c8e24 Add support for priority inheritance on the low priority worker queue 2014-10-07 07:41:52 -06:00
Gregory Nutt 0be5f2ca81 Move exit.c to task/exit.c 2014-08-08 18:38:04 -06:00
Gregory Nutt ccf4ed2148 Partial (non-working) checked in before the big, risky automated change 2014-08-08 17:29:44 -06:00
Gregory Nutt 224ee05957 Move a few files in sched/ that did not seem to have a home to sched/signal and sched/task 2014-08-08 16:57:47 -06:00
Gregory Nutt 23a334c066 Move task control files from sched/ to sched/task 2014-08-08 16:44:08 -06:00
Gregory Nutt 6683d749ac Move errno related files from sched/ to sched/errno 2014-08-08 15:52:55 -06:00
Gregory Nutt 9afca906eb Move initialization functions from sched/ to sched/init 2014-08-08 15:30:59 -06:00
Gregory Nutt a79ecce878 Move page fill sources from sched/ to sched/paging 2014-08-08 15:08:07 -06:00
Gregory Nutt f8da16a8d3 Move POSIX timer files from sched/ to sched/timer/ 2014-08-08 14:55:16 -06:00
Gregory Nutt d4b56eb3cc Move clock functions from sched/ to sched/clock 2014-08-08 14:43:02 -06:00
Gregory Nutt 85e8117062 Move interrupt dispatch logic from sched/ to sched/irq 2014-08-08 14:31:15 -06:00
Gregory Nutt 0f318e9249 Move watchdog functions from sched/ to sched/wdog 2014-08-08 14:21:48 -06:00
Gregory Nutt 4ff17b3904 Move group logic from sched/ to sched/group 2014-08-08 14:06:42 -06:00
Gregory Nutt e10a23ae50 Move environment files from sched/ to sched/environ 2014-08-08 13:53:29 -06:00
Gregory Nutt cb79407ced Move all pthread files from sched/ to sched/pthread 2014-08-08 12:55:02 -06:00
Gregory Nutt 0385a00a60 Move signal-related files from sched/ to sched/signal 2014-08-08 12:44:44 -06:00
Gregory Nutt 08879ca34c Move POSIX message queue files from sched/ to sched/mqueue 2014-08-08 12:31:23 -06:00
Gregory Nutt caba61999a Remove CONFIG_DISABLE_CLOCK 2014-08-07 12:35:24 -06:00
Gregory Nutt 520a51a3e1 Implements the tickless OS 2014-08-07 11:39:16 -06:00
Gregory Nutt a1ae9d36df Don't build in sched_processtimer.c if CONFIG_SCHED_TICKLESS is selected. 2014-08-06 18:28:51 -06:00
Gregory Nutt cf4a362ab5 CPU load calculations now available for all threads. Available in /proc/pid/loadavg 2014-02-23 10:55:01 -06:00
Gregory Nutt 803cdfdaf1 Changes to get PX4 config to build. Also some warning removal 2014-01-14 13:30:22 -06:00
Gregory Nutt 7aff059fd0 Move sleep() and usleep() from sched/ to libc/unistd/. These functions now are simple wrappers for nanosleep(). Remove sleep() and usleep() from system calls; add nanosleep() to system calls 2013-12-13 07:57:13 -06:00
Gregory Nutt 342e777029 Add nanosleep() 2013-12-12 20:12:33 -06:00
Gregory Nutt 1f616ecf1f Move task_terminate to its own C file to prevent drawing task_delete into the link 2013-04-25 16:23:30 -06:00
Gregory Nutt 5187631e30 _exit() should not call atexit() or on_exit() functions; Rename task_deletecurrent() to task_exit() 2013-04-18 16:15:20 -06:00
patacongo 0db8dc83ee up_addregion should use kmm_addregion; move garbage kmm*.c file to mm/. for now
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5721 42af7a65-404d-4744-a932-0658087f49c3
2013-03-08 22:01:50 +00:00
patacongo 4134862fb2 Move work queue logic from sched/ to libc/wqueue. It is not core logic and will be extended to support user-space work queues
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5711 42af7a65-404d-4744-a932-0658087f49c3
2013-03-05 18:57:51 +00:00
patacongo 7ed910d7cd Fix some problems with the vfork() test on the STM32F3Discovery
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5628 42af7a65-404d-4744-a932-0658087f49c3
2013-02-08 22:53:14 +00:00
patacongo 5c093af766 Changed needed to fix issues with task_restart()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5615 42af7a65-404d-4744-a932-0658087f49c3
2013-02-06 15:43:28 +00:00
patacongo bbf990f417 Moving pending signals to task group; Logic to recover some MQ resources on pthread_cacancel or task_delete; Now obeys rules for delivering signals to a process with threads
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5613 42af7a65-404d-4744-a932-0658087f49c3
2013-02-05 19:50:37 +00:00
patacongo 5475d02446 Move list of open message queues to task group. Now message queues opened by members of the group will be closed when the last member of the group exits.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5609 42af7a65-404d-4744-a932-0658087f49c3
2013-02-04 16:55:38 +00:00
patacongo d0003c1a00 Now that join info is in the task group, need to free when task group exits. Used to be stranded
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5603 42af7a65-404d-4744-a932-0658087f49c3
2013-02-03 17:39:54 +00:00
patacongo 46bb05696e Move pthread join and key creation data into the task group
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5602 42af7a65-404d-4744-a932-0658087f49c3
2013-02-03 16:43:58 +00:00
patacongo 329328e5df New interface task_spawn(); exec_builtin() now uses task_spawn(); All argv types should be char * const * not const char **
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5598 42af7a65-404d-4744-a932-0658087f49c3
2013-02-02 19:31:30 +00:00
patacongo 151dfee1f9 Add a start hook that can be setup to call a function in the context of a new thread before the new threads main() has been called.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5571 42af7a65-404d-4744-a932-0658087f49c3
2013-01-27 15:52:58 +00:00
patacongo 4c3b71131e Move socket data from TCB to task group structure.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5570 42af7a65-404d-4744-a932-0658087f49c3
2013-01-26 23:49:02 +00:00
patacongo d5582f35af Fix a recently introduced memory leak
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5568 42af7a65-404d-4744-a932-0658087f49c3
2013-01-26 21:01:19 +00:00
patacongo fc8136d5d3 Don't keep the parent task's task ID in the child task's TCB. Instead, keep the parent task group IN the child task's task group.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5566 42af7a65-404d-4744-a932-0658087f49c3
2013-01-26 17:28:20 +00:00
patacongo 0cefbf4762 Move environment variables in the task group structure
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5565 42af7a65-404d-4744-a932-0658087f49c3
2013-01-25 23:21:27 +00:00
patacongo c9752dfb87 Add logic to send SIGCHLD to all members of a task group
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5564 42af7a65-404d-4744-a932-0658087f49c3
2013-01-25 20:00:37 +00:00
patacongo 03fd50017d Add framework to support task groups
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5562 42af7a65-404d-4744-a932-0658087f49c3
2013-01-25 17:23:38 +00:00
patacongo 21817ecc38 lpc1788 update from Rommel Marcelo; Beginning of logic to retain child exit status
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5549 42af7a65-404d-4744-a932-0658087f49c3
2013-01-22 23:42:51 +00:00
patacongo 29cdbe6143 Beginnings of definitions for the LPC1788; convert olimex-lpc1766stk to use kconfig-frontends
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5533 42af7a65-404d-4744-a932-0658087f49c3
2013-01-18 16:37:37 +00:00