summaryrefslogtreecommitdiff
path: root/cc3200/mpthreadport.c
AgeCommit message (Collapse)Author
2017-09-06ports: Make new ports/ sub-directory and move all ports there.Damien George
This is to keep the top-level directory clean, to make it clear what is core and what is a port, and to allow the repository to grow with new ports in a sustainable way.
2016-10-19cc3200: Fix thread mutex's so threading works with interrupts.Damien George
Running Python code on a hard interrupt is incompatible with having a GIL, because most of the time the GIL will be held by the user thread when the interrupt arrives. Hard interrupts mean that we should process them right away and hence can't wait until the GIL is released. The problem with the current code is that a hard interrupt will try to exit/enter the GIL while it is still held by the user thread, hence leading to a deadlock. This patch works around such a problem by just making GIL exit/enter a no-op when in an interrupt context, or when interrupts are disabled. See issue #2406.
2016-10-18cc3200: Use mp_raise_XXX helper functions to reduce code size.Damien George
Reduces code size by 632 bytes.
2016-06-28cc3200/mpthreadport: Move mem alloc outside the thread_mutex lock.Damien George
Otherwise there could be a deadlock, with the GC's mutex and thread_mutex.
2016-06-28cc3200/mpthreadport: Scan more root pointers from thread data.Damien George
2016-06-28cc3200/mpthreadport: Properly initialise the main thread's data.Damien George
2016-06-28cc3200/mpthreadport: Make mutex statically allocated.Damien George
Reduced the need for the FreeRTOS heap to allocate the mutex.
2016-06-28cc3200: Fix call to new exception to be _msg instead of _arg1.Damien George
2016-06-28py/modthread: Allow to properly set the stack limit of a thread.Damien George
We rely on the port setting and adjusting the stack size so there is enough room to recover from hitting the stack limit.
2016-06-28cc3200: Add basic threading capabilities.Damien George
Can create a new thread and run it. Does not use the GIL at this point.