micropython/unix
Paul Sokolovsky 11bc21dfa8 unix/main: Ignore SIGPIPE signal, instead make EPIPE arrive.
Do not raise SIGPIPE, instead return EPIPE. Otherwise, e.g. writing
to peer-closed socket will lead to sudden termination of MicroPython
process. SIGPIPE is particularly nasty, because unix shell doesn't
print anything for it, so the above looks like completely sudden and
silent termination for unknown reason. Ignoring SIGPIPE is also what
CPython does. Note that this may lead to problems using MicroPython
scripts as pipe filters, but again, that's what CPython does. So,
scripts which want to follow unix shell pipe semantics (where SIGPIPE
means "pipe was requested to terminate, it's not an error"), should
catch EPIPE themselves.
2017-05-01 18:47:26 +03:00
..
coverage-frzmpy tests: Improve frozen import test coverage. 2017-01-16 16:59:03 +11:00
coverage-frzstr tests/unix/extra_coverage: Add tests for importing frozen packages. 2017-01-08 22:45:55 +11:00
scripts unix: Add symlinks for upip to make it frozen into binary. 2016-11-08 14:47:29 +11:00
.gitignore unix: Fix freedos port build problems. 2017-02-06 15:25:42 +11:00
Makefile unix: Remove obsolete MICROPY_FATFS macro. 2017-04-26 11:16:52 +10:00
alloc.c unix: Convert mp_uint_t to size_t in alloc.c. 2017-03-31 13:18:47 +11:00
coverage.c unix/coverage: Enable scheduler and add tests for it. 2017-03-20 15:20:26 +11:00
fatfs_port.c unix/fatfs_port: Include new oofatfs header. 2017-01-27 23:22:15 +11:00
fdfile.h unix/moduselect: Allow poll.register(), etc. accept fd-like objects. 2016-08-07 01:25:59 +03:00
file.c py: Add iter_buf to getiter type method. 2017-02-16 18:38:06 +11:00
gccollect.c unix: fix symbol references for x86 Mac 2016-11-02 00:42:04 +03:00
input.c unix: Remove remaining, obsolete traces of GNU readline support. 2017-03-03 17:55:40 +11:00
input.h unix: Support readline history saving to file, improves interactive usage. 2015-03-13 21:46:19 +00:00
main.c unix/main: Ignore SIGPIPE signal, instead make EPIPE arrive. 2017-05-01 18:47:26 +03:00
modffi.c unix: Use mp_obj_str_get_str instead of mp_obj_str_get_data. 2017-03-25 19:54:07 +11:00
modjni.c all: Consistently update signatures of .make_new and .call methods. 2017-01-04 16:10:42 +03:00
modmachine.c unix/modmachine: Add Signal class to machine module. 2017-03-02 16:08:20 +11:00
modos.c unix: Use mp_obj_str_get_str instead of mp_obj_str_get_data. 2017-03-25 19:54:07 +11:00
modsocket.c all: Remove readall() method, which is equivalent to read() w/o args. 2016-11-14 00:24:22 +03:00
modtermios.c unix: Use mp_obj_str_get_str instead of mp_obj_str_get_data. 2017-03-25 19:54:07 +11:00
modtime.c unix: Use mp_handle_pending() in time.sleep(). 2017-03-20 15:20:26 +11:00
moduos_vfs.c unix: Change to use new generic VFS sub-system in coverage build. 2017-01-27 17:21:45 +11:00
moduselect.c unix/moduselect: Properly implement ipoll object iteration. 2017-03-05 13:51:22 +01:00
mpconfigport.h mpy-cross, unix, windows, stmhal: Enable return-if-else optimisation. 2017-04-22 15:12:48 +10:00
mpconfigport.mk unix: Remove obsolete MICROPY_FATFS macro. 2017-04-26 11:16:52 +10:00
mpconfigport_coverage.h unix: Enabled high-quality float hashing in coverage build. 2017-04-12 13:38:17 +10:00
mpconfigport_fast.h py: Add ability to have frozen persistent bytecode from .mpy files. 2016-04-13 16:07:47 +01:00
mpconfigport_freedos.h unix: Fix freedos port build problems. 2017-02-06 15:25:42 +11:00
mpconfigport_minimal.h unix, windows: Use core-provided KeyboardInterrupt exception object. 2017-04-11 13:31:49 +10:00
mpconfigport_nanbox.h unix: Add option to build 64-bit NaN-boxing interpreter. 2016-01-15 11:12:08 +00:00
mphalport.h unix/mphalport.h: Add dummy definition of mp_hal_ticks_cpu(). 2016-10-29 17:23:05 +03:00
mpthreadport.c unix: Use mp_raise_OSError helper function. 2016-10-07 14:05:15 +11:00
mpthreadport.h unix: Implement garbage collection with threading. 2016-06-28 11:28:49 +01:00
qstrdefsport.h py: Add rules for automated extraction of qstrs from sources. 2016-04-16 13:18:09 +01:00
unix_mphal.c unix, windows: Use core-provided KeyboardInterrupt exception object. 2017-04-11 13:31:49 +10:00