Commit Graph

15 Commits

Author SHA1 Message Date
Jakob Hasse
be59c94917 feat(pthread): Pthread can now use PSRAM as stack
Closes https://github.com/espressif/esp-idf/pull/10623
Closes https://github.com/espressif/esp-idf/issues/8662

Thanks to f-hoepfinger-hr-agrartechnik for the contribution
in https://github.com/espressif/esp-idf/pull/10623
2024-01-22 15:33:05 +08:00
Jakob Hasse
8042362e2a refactor: moved semaphore.h to newlib platform_include
Closes https://github.com/espressif/esp-idf/issues/11540
2023-08-08 16:45:57 +08:00
Alexey Lapshin
dfcab42a01 pthread: fix restrict keyword usage in function declarations
See https://gcc.gnu.org/onlinedocs/gcc/Restricted-Pointers.html
2023-05-05 13:35:19 +08:00
Jakob Hasse
45c8b8ba10 pthread: Implemented POSIX unnamed semaphore 2023-03-21 10:23:58 +08:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Renz Christian Bagaporo
c53ad56515 esp_system: startup flow modifications
Changes the startup flow to the ff:

hardware -> core libraries init  -> other libraries init -> os
init (optional) -> app_main

- hardware init resides in the port layer, and is the entry point

- core libraries init executes init functions of core components

- other libraries init executes init functions of other components (weak
references)

- after other lib is init, the app_main function is called, however,

 an OS can wrap the real call to app_main to init its own stuff, and
 *then* call the real app_main
2020-06-19 18:40:09 +10:00
Felipe Neves
429712c6eb freertos: moved all xtensa specific files into a separated folder 2020-01-27 16:05:30 -03:00
Anton Maklakov
afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
Ivan Grokhotkov
e9de7b1df3 pthread: remove ESP32_ prefix from Kconfig options
pthread implementation is not chip-specific, so this prefix is not
needed.
2019-07-29 04:43:49 +02:00
Roland Dobai
d61d58e78d Rename Kconfig options (components/pthread) 2019-05-21 09:09:01 +02:00
Per Malmberg
71f57931bd - Implemented ability to core affinity and thread name for pthreads and thus also for std::thread. 2018-11-28 20:43:09 +01:00
Anurag Kar
f27db1f241 pthread : Add support for attributes and few APIs
This introduces the following changes :
    * Implmentation added for pthread attribute related functions :
        * pthread_attr_init
        * pthread_attr_destroy
        * pthread_attr_setdetachstate
        * pthread_attr_getdetachstate
        * pthread_attr_getstacksize
        * pthread_attr_setstacksize
    * pthread_create now supports passing attributes/configs through pthread_attr_t structure
    * pthread_mutex_timedlock added
    * pthread_exit added
    * memory for joinable thread is freed before returning from pthread_join
2018-09-22 02:35:27 +05:30
morris
5c6e1e6e67 pthread: fix esp_pthread.h to compatible with c++
esp_pthread.h is missing the necessary extern "C"{ ... } wrapper to be compatible with C++. The result is link errors when you call its functions from C++ code, because the compiler generates mangled names.

Closes https://github.com/espressif/esp-idf/issues/2121
Closes https://github.com/espressif/esp-idf/issues/2172
2018-07-11 14:21:09 +08:00
Kedar Sovani
7a0cab0a5b pthread: Allow configuration of priority and stacksize
The expected usage is:
  esp_pthread_set_cfg(cfg);
  pthread_create()

If the inherit flag is set, then all subsequent threads forked by this
thread will also inherit this configuration. This avoids having to
change/prefix this for each and every pthread_create() call.
2018-03-20 18:06:32 +05:30