<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/unix/moduselect.c, branch 2.2.0</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=2.2.0</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=2.2.0'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2017-07-31T08:35:40+00:00</updated>
<entry>
<title>all: Use the name MicroPython consistently in comments</title>
<updated>2017-07-31T08:35:40+00:00</updated>
<author>
<name>Alexander Steffen</name>
<email>devel.20.webmeister@spamgourmet.com</email>
</author>
<published>2017-06-30T07:22:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=55f33240f3d7051d4213629e92437a36f1fac50e'/>
<id>urn:sha1:55f33240f3d7051d4213629e92437a36f1fac50e</id>
<content type='text'>
There were several different spellings of MicroPython present in comments,
when there should be only one.
</content>
</entry>
<entry>
<title>unix/moduselect: Properly implement ipoll object iteration.</title>
<updated>2017-03-05T12:51:22+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-03-05T12:51:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fe866d996f54df0c5687c94b98abff5410ef02c9'/>
<id>urn:sha1:fe866d996f54df0c5687c94b98abff5410ef02c9</id>
<content type='text'>
TODO: There's another issue to care about: poll set being modified during
iteration.
</content>
</entry>
<entry>
<title>py: Add iter_buf to getiter type method.</title>
<updated>2017-02-16T07:38:06+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-09T23:14:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ae8d86758631e62466a55d179897d2111c3cb1c1'/>
<id>urn:sha1:ae8d86758631e62466a55d179897d2111c3cb1c1</id>
<content type='text'>
Allows to iterate over the following without allocating on the heap:
- tuple
- list
- string, bytes
- bytearray, array
- dict (not dict.keys, dict.values, dict.items)
- set, frozenset

Allows to call the following without heap memory:
- all, any, min, max, sum

TODO: still need to allocate stack memory in bytecode for iter_buf.
</content>
</entry>
<entry>
<title>unix/moduselect: Implement ipoll() method with no-allocation policy.</title>
<updated>2017-02-12T21:23:23+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2017-02-12T21:23:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=16a3534ad44e7de1b8c54bbe1f5a01d3636db780'/>
<id>urn:sha1:16a3534ad44e7de1b8c54bbe1f5a01d3636db780</id>
<content type='text'>
ipoll() allows to poll streams without allocating any memory: this method
returns an iterator (a poll object itself), and the iterator yields
preallocated "callee-owned tuple" with polling results for each active
stream. The only operation a caller is allowed to do with this tuple is
extracting values from it (storing the tuple as a whole somewhere is
not allowed).
</content>
</entry>
<entry>
<title>unix/moduselect: Fix nanbox build with recent changes.</title>
<updated>2016-12-31T08:19:25+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-12-31T08:19:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5efd6508ecb64e57d71845e265d7cead72496efe'/>
<id>urn:sha1:5efd6508ecb64e57d71845e265d7cead72496efe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unix/moduselect: If file object passed to .register(), return it in .poll().</title>
<updated>2016-12-30T21:07:18+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-12-30T21:07:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=093a8f5fa2ff89959d8300032a837060827ac084'/>
<id>urn:sha1:093a8f5fa2ff89959d8300032a837060827ac084</id>
<content type='text'>
This makes unix "uselect" compatible with baremetal "uselect". Previosuly,
unix version accepted file/socket objects, but internally converted that
to file descriptors, and that's what .poll() returned. To acheive new
behavior, file-like objects are stored internally in an array, in addition
to existing array of struct pollfd. This array is created only on first
case of file-like object being passed to .register(). If only raw fd's are
passed, there will be no additional memory used comparing to the original
implementation.
</content>
</entry>
<entry>
<title>unix: Rename define for unix moduselect to MICROPY_PY_USELECT_POSIX.</title>
<updated>2016-11-20T21:48:55+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-11-20T21:48:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=87dfc765706222d8be348f9ad78ad2c704704f53'/>
<id>urn:sha1:87dfc765706222d8be348f9ad78ad2c704704f53</id>
<content type='text'>
To not conflict with recently made available globally baremetal
moduselect.
</content>
</entry>
<entry>
<title>unix: Use mp_raise_OSError helper function.</title>
<updated>2016-10-07T03:05:15+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-10-07T03:05:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=503089ea9d6b358f1a06ad1f164561b7cf11c742'/>
<id>urn:sha1:503089ea9d6b358f1a06ad1f164561b7cf11c742</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: Remove 'name' member from mp_obj_module_t struct.</title>
<updated>2016-09-21T14:23:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-09-21T00:52:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=93c4a6a3f70e389b466fbc7a4f1ad2e1df87c93f'/>
<id>urn:sha1:93c4a6a3f70e389b466fbc7a4f1ad2e1df87c93f</id>
<content type='text'>
One can instead lookup __name__ in the modules dict to get the value.
</content>
</entry>
<entry>
<title>unix: Fix build for when MICROPY_PY_SOCKET=0.</title>
<updated>2016-09-12T06:43:56+00:00</updated>
<author>
<name>Renato Aguiar</name>
<email>contact@renatoaguiar.org</email>
</author>
<published>2016-09-08T22:13:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=081c0648ecf3f291cb8669d74f4f59ea0191e34e'/>
<id>urn:sha1:081c0648ecf3f291cb8669d74f4f59ea0191e34e</id>
<content type='text'>
</content>
</entry>
</feed>
