<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/mpthread.h, branch v1.8.3</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.3</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.3'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-06-28T10:28:52+00:00</updated>
<entry>
<title>py/mpthread: Include mpstate.h when defining GIL macros.</title>
<updated>2016-06-28T10:28:52+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-31T14:25:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=77e37ff98bec1ccf6af6edf3efcad26b54da0c47'/>
<id>urn:sha1:77e37ff98bec1ccf6af6edf3efcad26b54da0c47</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py/modthread: Allow to properly set the stack limit of a thread.</title>
<updated>2016-06-28T10:28:51+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-30T15:56:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=df95f52583e0f5e3f2a74f7461bb00e2f24b3079'/>
<id>urn:sha1:df95f52583e0f5e3f2a74f7461bb00e2f24b3079</id>
<content type='text'>
We rely on the port setting and adjusting the stack size so there is
enough room to recover from hitting the stack limit.
</content>
</entry>
<entry>
<title>py/mpthread.h: Move GIL macros outside MICROPY_PY_THREAD block.</title>
<updated>2016-06-28T10:28:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-27T12:44:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e90b6ce0b5af51ef195aa98dad35a185b77c5075'/>
<id>urn:sha1:e90b6ce0b5af51ef195aa98dad35a185b77c5075</id>
<content type='text'>
The GIL macros are needed even if threading is not enabled.
</content>
</entry>
<entry>
<title>py: Implement a simple global interpreter lock.</title>
<updated>2016-06-28T10:28:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-26T10:42:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4cec63a9dbed86c4332b9e7fcd56d092046193e4'/>
<id>urn:sha1:4cec63a9dbed86c4332b9e7fcd56d092046193e4</id>
<content type='text'>
This makes the VM/runtime thread safe, at the cost of not being able to
run code in parallel.
</content>
</entry>
<entry>
<title>py/modthread: Call mp_thread_start/mp_thread_finish around threads.</title>
<updated>2016-06-28T10:28:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-04T09:52:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9172c0cb252faa47f56e61f67ceb213012631de2'/>
<id>urn:sha1:9172c0cb252faa47f56e61f67ceb213012631de2</id>
<content type='text'>
So the underlying thread implementation can do any necessary bookkeeping.
</content>
</entry>
<entry>
<title>py/gc: Make memory manager and garbage collector thread safe.</title>
<updated>2016-06-28T10:28:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-25T15:28:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c93d9caa8b8be81f7e6faf9f2ca2ad16d4942ab8'/>
<id>urn:sha1:c93d9caa8b8be81f7e6faf9f2ca2ad16d4942ab8</id>
<content type='text'>
By using a single, global mutex, all memory-related functions (alloc,
free, realloc, collect, etc) are made thread safe.  This means that only
one thread can be in such a function at any one time.
</content>
</entry>
<entry>
<title>py/modthread: Implement lock object, for creating a mutex.</title>
<updated>2016-06-28T10:28:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-25T11:21:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=801d1b3803e4c8070a8bea6ee4f563a799d010b7'/>
<id>urn:sha1:801d1b3803e4c8070a8bea6ee4f563a799d010b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py/modthread: Add stack_size() function.</title>
<updated>2016-06-28T10:28:48+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-25T09:02:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=707f98f207d85b1de9814e90254d52a78ac19739'/>
<id>urn:sha1:707f98f207d85b1de9814e90254d52a78ac19739</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add basic _thread module, with ability to start a new thread.</title>
<updated>2016-06-28T10:28:48+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-04-22T22:52:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=27cc07721b3c3c2d0b9c8678c8a3ddc7fe96cd97'/>
<id>urn:sha1:27cc07721b3c3c2d0b9c8678c8a3ddc7fe96cd97</id>
<content type='text'>
</content>
</entry>
</feed>
