Commit Graph

54 Commits

Author SHA1 Message Date
Gregory Nutt
dea251783a pthread.h: Remove duplicate, possible erroneous definitino of PTHREAD_MUTEX_INITIALIZER that crept in with some recent changes. 2017-04-08 08:14:11 -06:00
Mark Schulte
2b1ca79b4b pthread rwlock bugfixes 2017-04-07 15:45:24 -06:00
Gregory Nutt
b631dc886f Remove CONFIG_PTHREAD_RWLOCK. Rwlock interfaces built unconditionally. 2017-04-07 07:34:22 -06:00
Mark Schulte
7bb26d2615 pthreads: Adding rwlock implementation
Adding an implementation for read/write locks into the pthread library.
These locks are writer priority, such that if any writers come in they
are given priority for writing.
2017-04-07 07:03:00 -06:00
Jussi Kivilinna
1879f5127b Fix PTHREAD_MUTEX_INITIALIZER which was not updated with last mutex changes. 2017-03-28 09:07:32 -06:00
Gregory Nutt
b07d3fc305 Rename CONFIG_MUTEX_TYPES to CONFIG_PTHREAD_MUTEX_TYPES 2017-03-27 09:08:14 -06:00
Gregory Nutt
f2f798cb29 pthread mutexes: Finish logic to support configuration mutex robustness. 2017-03-27 08:50:45 -06:00
Gregory Nutt
666208cf23 pthread mutexes: Add option to support both unsafe and robust mutexes via pthread_mutexattr_get/setrobust(). 2017-03-26 18:37:24 -06:00
Gregory Nutt
8b3c554e45 pthreads: Add a configuration option to disable robust mutexes and revert to the traditional unsafe mutexes. 2017-03-26 17:37:28 -06:00
Gregory Nutt
34c5e1c18f Minor cleanup from recent changes. 2017-03-26 14:04:07 -06:00
Gregory Nutt
6e623ce06f pthreads: Partial implementation of final part of robust mutexes: Keep list of all mutexes held by a thread in a list in the TCB. 2017-03-26 12:46:57 -06:00
Gregory Nutt
363403fb1f pthreads: Add more robustness characteristics: pthread_mutex_lock() and trylock() will now return EOWNERDEAD if the mutex is locked by a thread that no longer exists. Add pthread_mutex_consistent() to recover from this situation. 2017-03-26 10:35:23 -06:00
Gregory Nutt
acaae12e8b Add pthread_testcancel(), pthread_testcancel(), and definitiions for cancellation types. 2016-12-09 07:23:00 -06:00
Gregory Nutt
a1fbc2ad0d pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop() 2016-12-08 09:27:13 -06:00
Gregory Nutt
796969f6b6 Update TODO. Provide do-nothing stubs for mutex attribute interfaces if features not enabled. pthread_cond includes a signaling semaphore and should call sem_setprotocol. 2016-11-05 11:06:52 -06:00
Gregory Nutt
97bf82ee05 Semaphores: Provide macros for sem_setprotobol() and sem_getprotocol() if priority inheritance is not enabled. More SEM_PRIO_* definitions to include/nuttx/semaphore.h 2016-11-02 18:21:46 -06:00
Gregory Nutt
92d3022411 Add pthread_mutexattr_get/set_protocol and non-standard sem_get/set_protocol. These may use to enable or disable priority inheritance on a single semaphore. 2016-11-02 09:05:18 -06:00
Gregory Nutt
86b79b33cf Reserver the name 'err' for other purposes 2016-06-11 14:40:07 -06:00
Gregory Nutt
0eadf1dcad Costmetic change + update submodules 2016-02-20 14:57:05 -06:00
Gregory Nutt
5a590e99b9 Add SYSCALLS for pthread_setaffinity() and pthread_getaffinity() 2016-02-19 18:13:06 -06:00
Gregory Nutt
a633353ec3 Add a CPU affinity set to the TCB if SMP is enable and use this CPU set as a mask for determining which CPUs the thread may run on. Add an affinity field to the attrributes to permit controlling which CPUs a pthread may run on. Implements pthread_att_setaffinity_np() and pthread_attr_getaffinity_np(). 2016-02-19 17:33:35 -06:00
Gregory Nutt
72d3920295 Rename cpuset_t to cpu_set_t which is the type used in some non-standard Linux/GNU interfaces. Move definitions of cpu_set_t to include/sys/types.h. Add prototypes for sched_setaffinity(), sched_getaffinity(), pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np(), pthread_setaffinity_np(), and pthread_getaffinity_np(). No implementation is yet in place. 2016-02-19 15:57:07 -06:00
Gregory Nutt
b1938c065d sys/time.h: Fix timersub macro; time_t is unsigned 2015-12-31 09:05:35 -06:00
Gregory Nutt
c1fff4706c signals: Adds a very limited, minimal implementation for SIGEV_THREAD 2015-12-30 15:01:14 -06:00
Gregory Nutt
9835eeb181 signals: Basic framework to support SIGEV_THREAD 2015-12-30 13:20:31 -06:00
Gregory Nutt
9cbac41e78 Clean-up/standardize a few header files 2015-08-03 11:01:41 -06:00
Gregory Nutt
f6c102d4c0 A few cosmetic fixes from the last commit 2015-07-23 13:26:41 -06:00
Gregory Nutt
9095e8eab4 include/, sched/, and libc/: Add support for sporadic scheduling parameters in struct sched_param, posix_spawnattr_t, and pthread_attr_t. Update all user interfaces to pass sporadic scheduling parameters. Feature is dependent on EXPERIMENTAL and no changes have yet been made to core scheduling logic. 2015-07-23 13:16:32 -06:00
Juha Niskanen
d16053c33c sched/pthread: Use -1 instead of 0 as PID for unclaimed mutexes 2015-06-16 08:27:38 -06:00
Gregory Nutt
35a6ef7c40 Fix PTHREAD_COND_INITIALIZER 2015-02-24 20:26:42 -06:00
Gregory Nutt
a41c1de32c Add basic data structures that will allow us to move named semaphore support out of the OS and into the VFS (not complete). 2014-09-28 10:15:33 -06:00
Gregory Nutt
e953fb11cd A const storage class to to phthread parameters. From Freddie Chopin 2014-09-08 06:21:48 -06:00
Gregory Nutt
3a1324741a More trailing whilespace removal 2014-04-13 14:32:20 -06:00
patacongo
76d1ad21f2 Fix bad conditional logic in mkconfig.c; Add user-mode pthread start-up logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5748 42af7a65-404d-4744-a932-0658087f49c3
2013-03-16 17:37:40 +00:00
patacongo
fe49f7c965 configs/sim/nxwm now uses kconfig-frontends
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5449 42af7a65-404d-4744-a932-0658087f49c3
2012-12-21 21:30:33 +00:00
patacongo
cc022f93df Patches from Petteri Aimonen (plus a few other things)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5448 42af7a65-404d-4744-a932-0658087f49c3
2012-12-21 20:09:32 +00:00
patacongo
97301a8aed Add interfaces to support getting/setting of thread/task names
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4658 42af7a65-404d-4744-a932-0658087f49c3
2012-04-26 15:00:35 +00:00
patacongo
7163506799 Fix pascal build problem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4554 42af7a65-404d-4744-a932-0658087f49c3
2012-04-04 13:01:14 +00:00
patacongo
2f6adf5714 FTPD daemon and example now build without errors
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4371 42af7a65-404d-4744-a932-0658087f49c3
2012-02-05 17:36:13 +00:00
patacongo
a521443817 Move more files into subdirectories under lib/
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3445 42af7a65-404d-4744-a932-0658087f49c3
2011-03-31 01:42:50 +00:00
patacongo
21ae727f6f Add syscall directory
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3438 42af7a65-404d-4744-a932-0658087f49c3
2011-03-30 02:59:01 +00:00
patacongo
e385b1074b Clean-up from big switch to stdint/stdbool
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2362 42af7a65-404d-4744-a932-0658087f49c3
2009-12-16 23:23:46 +00:00
patacongo
eeec4073a9 Switching to C99 stdint.h types
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2340 42af7a65-404d-4744-a932-0658087f49c3
2009-12-14 23:32:23 +00:00
patacongo
166b4da551 Add support for priority inheritance
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1581 42af7a65-404d-4744-a932-0658087f49c3
2009-03-08 23:33:41 +00:00
patacongo
b08da21f90 Add support for recursive mutexes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@753 42af7a65-404d-4744-a932-0658087f49c3
2008-05-31 17:13:08 +00:00
patacongo
1358cc1911 Fix z16f addressing issues
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@592 42af7a65-404d-4744-a932-0658087f49c3
2008-01-30 21:59:12 +00:00
patacongo
3d5eebad25 Add pthread_setschedprio() prototype
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@139 42af7a65-404d-4744-a932-0658087f49c3
2007-03-24 15:54:42 +00:00
patacongo
7a1f5f61bd Add new pthread_* APIs
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@134 42af7a65-404d-4744-a932-0658087f49c3
2007-03-23 23:22:22 +00:00
patacongo
3f1b80218e Restructure header files for POSIX compliance; eliminate compile warnings
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@107 42af7a65-404d-4744-a932-0658087f49c3
2007-03-20 16:51:12 +00:00
patacongo
223a7dcd51 Add pthread_equal()
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@78 42af7a65-404d-4744-a932-0658087f49c3
2007-03-16 22:44:04 +00:00