circuitpython/tools
Andrew Leech 4e0964b59f extmod/vfs: Add finaliser to ilistdir to close directory handle.
When iterating over filesystem/folders with os.iterdir(), an open file
(directory) handle is used internally.  Currently this file handle is only
closed once the iterator is completely drained, eg. once all entries have
been looped over / converted into list etc.

If a program opens an iterdir but does not loop over it, or starts to loop
over the iterator but breaks out of the loop, then the handle never gets
closed.  In this state, when the iter object is cleaned up by the garbage
collector this open handle can cause corruption of the filesystem.

Fixes issues #6568 and #8506.
2022-09-13 13:00:42 +10:00
..
autobuild tools/autobuild: Use distinct directory for building stm32 variants. 2022-09-08 14:54:11 +10:00
mpremote tools/mpremote: Print nicer errors for unsupported 'cp -r' arguments. 2022-08-26 13:30:03 +10:00
.gitattributes micropython-upip: Mark as binary file and re-commit. 2015-06-06 23:09:23 +03:00
.gitignore tools: check-in errordeveloper/tinytest@eb2dbc858f 2014-05-08 01:41:21 +03:00
cc1 tools: Add C middle-processor to make builtin tables proper hash tables. 2015-12-31 00:24:33 +00:00
ci.sh extmod/vfs: Add finaliser to ilistdir to close directory handle. 2022-09-13 13:00:42 +10:00
codeformat.py tools/codeformat.py: Include more ports .c/.h files in formatting. 2022-04-20 16:02:11 +10:00
codestats.sh tests,tools: Update path to unix micropython executable. 2022-08-18 11:47:58 +10:00
dfu.py tools/dfu.py: Make tool work with python3 when parsing DFU files. 2021-11-01 15:46:59 +11:00
file2h.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
gen-changelog.sh Rename "Micro Python" to "MicroPython" in REPL, help, readme's and misc. 2015-10-12 00:06:25 +01:00
gen-cpydiff.py tests,tools: Update path to unix micropython executable. 2022-08-18 11:47:58 +10:00
gendoc.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
insert-usb-ids.py ports: Rename USBD_VID/PID config macros to MICROPY_HW_USB_VID/PID. 2021-08-07 23:13:55 +10:00
makemanifest.py tools/makemanifest.py: Force the repo version of the mpy_cross package. 2022-09-09 18:12:55 +10:00
manifestfile.py tools/manifestfile.py: Allow manifests to set metadata. 2022-09-05 17:07:13 +10:00
metrics.py unix/variants: Remove variant suffix from executable filename. 2022-08-11 13:34:34 +10:00
mpy_bin2res.py tools/mpy_bin2res: Tools to convert binary resources to Python module. 2017-07-27 14:41:27 +03:00
mpy_cross_all.py all: Remove MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE. 2021-09-16 16:04:03 +10:00
mpy_ld.py tools/mpy_ld.py: Support GOT entries that reference inside mp_fun_table. 2022-06-10 16:42:43 +10:00
mpy-tool.py tools/mpy-tool.py: Improve generated frozen identifiers. 2022-06-07 16:55:18 +10:00
pyboard.py tools/pyboard.py: Add fs_cp function for direct device-to-device copy. 2022-08-26 13:30:03 +10:00
pydfu.py all: Update Python formatting to latest Black version 21.12b0. 2021-12-09 12:09:40 +11:00
tinytest-codegen.py py/formatfloat: Format all whole-number floats exactly. 2022-07-26 22:23:47 +10:00
uf2conv.py tools/uf2conv.py: Update to latest version. 2022-02-02 23:43:58 +11:00
uf2families.json tools/uf2conv.py: Update to latest version. 2022-02-02 23:43:58 +11:00
uncrustify.cfg tools/uncrustify: Make sure a space exists after a comma. 2022-05-05 13:30:40 +10:00
upip_utarfile.py all: Reformat C and Python source code with tools/codeformat.py. 2020-02-28 10:33:03 +11:00
upip.py tools/upip.py: Remove unused op_basename() function. 2022-02-25 18:24:03 +11:00
verifygitlog.py tools/verifygitlog.py: Ignore line length in body if it's a URL. 2022-02-18 14:33:33 +11:00