Commit Graph

34 Commits

Author SHA1 Message Date
Gregory Nutt 937f9f23f1 strncpy will not copy the terminating \0 into the destination if the source is larger than the size of the destination. Ensure that the last byte is always zero and let strncpy only copy CONFIG_TASK_NAME_SIZE bytes. The issue of unterminated names can be observed in ps when creating a pthread while CONFIG_TASK_NAME_SIZE is set to 8. 2014-12-17 12:24:02 -06:00
Gregory Nutt b3a1939020 Sempahores: Add logic to clean up after task_delete() or pthread_cancel() if the task happens to be waiting on a semaphore when it is cancelled 2014-12-13 12:02:25 -06:00
Gregory Nutt 1003ee3e9a Costmetic change to a comment 2014-12-13 10:41:57 -06:00
Gregory Nutt 9e290c10b5 Fix some compile issues introduces with removal of CONFIG_MAX_TASK_ARGS 2014-11-14 09:53:11 -06:00
Gregory Nutt 838f2053e4 Fix some compile errors introduce in last commits 2014-11-13 07:44:45 -06:00
Gregory Nutt bc265d74e7 task_create: Don't even try if the accumulated size of the argument list is larger than the stack 2014-11-13 06:44:15 -06:00
Gregory Nutt bb9b0f572d vfork no longer depends on CONFIG_MAX_TASK_ARGS 2014-11-12 19:01:29 -06:00
Gregory Nutt 4638a97f97 task_start() no longer depends on CONFIG_MAX_TASK_ARGS 2014-11-12 18:54:35 -06:00
Gregory Nutt ffbd6cf10a task_setup() no longer depends on CONFIG_MAX_TASK_ARGS 2014-11-12 18:49:58 -06:00
Gregory Nutt 322f9f401c Simplify how C source files are selected in the build 2014-10-07 07:42:36 -06:00
Gregory Nutt 87eb1d47ed Fix some recently introduced typos, build problems, and warnings 2014-10-05 16:58:52 -06:00
Gregory Nutt 542e706d7d Fix a perverse case where vfork() is called from a pthread. Still not recommended 2014-09-29 12:21:34 -06:00
Gregory Nutt 1dc9768c1a Fix vfork(). Now that arguments are kept on the stack, the way that arguments are passed from parent to child in vfork() must change. This bug has always been present, but was not visible with the old strdup() way of passing arguments 2014-09-29 10:45:44 -06:00
Gregory Nutt 5d9276ed71 More changes so that the KNSH build survives the changes needed for the ELF build 2014-09-16 15:55:21 -06:00
Gregory Nutt 1ef758d67f A couple more changes for clean ELF build 2014-09-16 15:40:48 -06:00
Gregory Nutt 925fc9ad81 First round of changes to get the ELF configuration building again 2014-09-16 15:37:05 -06:00
Gregory Nutt 701719b2ca Don't release user stack in kernel build. Already destroyed with all of the address environment 2014-09-15 12:45:41 -06:00
Gregory Nutt a5e30ac4a1 execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic 2014-09-15 10:16:20 -06:00
Gregory Nutt da7a440b35 execv() is a basic system interface. It should not be in libc/ but rather in sched/task. Its symboltable helper logic also belongs in the kernel but belings in binfmt/ with the other symbol table logic 2014-09-15 10:15:19 -06:00
Gregory Nutt e12213592b Don't build task_create() or task_spawn() interfaces if there is an addres environment 2014-09-14 08:22:21 -06:00
Gregory Nutt eae146d641 Kernel proxy thread should be a kernel thread, not a user task 2014-09-14 08:20:40 -06:00
Gregory Nutt b2a94b6f2b Fix more places where the user-mode allocator is used to allocate kernel thread resources -- before the user-mode allocator even exists 2014-09-03 14:58:24 -06:00
Gregory Nutt c81093913a IDLE TCB setup needs to indicate the the IDLE thread is a privileged, kernel thread 2014-09-03 13:47:11 -06:00
Gregory Nutt 64ab35b399 There used to be two ways to pass parameters to new tasks, depending upon the configuration: Either (1) argv[] as created as an array with each string strdup'ed. Or (1) argv[] array and strings were created on the stack before the new task was started. Now, there is only one way, way (1). Way (2) might be slightly more compact, but this is not worth carry the complexity of two different ways of doing the same thing. 2014-09-01 15:39:34 -06:00
Gregory Nutt 23147c40a5 Remove final traces of the 8015 from the NuttX source tree 2014-09-01 13:21:15 -06:00
Gregory Nutt 205260d5e2 Reanem kzalloc to kmm_zalloc for consistency 2014-08-31 17:34:44 -06:00
Gregory Nutt e3ff0689bb Rename CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED; Partially integrate new CONFIG_BUILD_KERNEL 2014-08-29 14:47:22 -06:00
Gregory Nutt 0ab1b0de25 nuttx/sched: Remove explicit references to errno. That is a problem from within the kernel for certain configurations 2014-08-28 17:00:24 -06:00
Gregory Nutt ad9b3f8ab8 wdog.h does not contain any application interface, only internal OS interface. Further, it is non-standard. Move wdog.h from include/ to include/nuttx. For the same reason, move the description of the watchdog timer interfaces from the Users Guide to the Porting Guide. 2014-08-21 11:16:55 -06:00
Gregory Nutt e1769b22f1 Remove os_internal.h it has been replace by several new header files under sched/. There have been some sneak inclusion paths via os_internal.h, so expect a few compilation errors for some architectures 2014-08-08 18:39:28 -06:00
Gregory Nutt 0be5f2ca81 Move exit.c to task/exit.c 2014-08-08 18:38:04 -06:00
Gregory Nutt d798dd37a7 Replace os_internal.h with sched/sched.h in files that actually reference something in sched.h 2014-08-08 17:53:55 -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