summaryrefslogtreecommitdiffstatshomepage
path: root/unix/modtime.c
Commit message (Collapse)AuthorAge
* unix: Move "utime" module config to C level instead of make level.Paul Sokolovsky2016-06-17
|
* py: Change type signature of builtin funs that take variable or kw args.Damien George2016-01-11
| | | | | With this patch the n_args parameter is changed type from mp_uint_t to size_t.
* unix/modtime: strftime(): Support 2nd argument, but as time_t value.Paul Sokolovsky2016-01-10
| | | | Instead of struct tm like structure, as required by CPython.
* unix/modtime: Add strftime() function (only single argument is supported).Paul Sokolovsky2015-12-14
| | | | Following "don't rely on FFI for basic functionality" approach.
* unix/modtime: sleep(): Return early if KeyboardInterrupt is pendingPaul Sokolovsky2015-12-02
| | | | | | As set by signal handler. This assumes that exception will be raised somewhere else, which so far doesn't happen for single function call. Still, it makes sense to handle that in some common place.
* py: Add MP_ROM_* macros and mp_rom_* types and use them.Damien George2015-11-29
|
* unix/modtime: Unbreak Windows build after changes to check select() result.Paul Sokolovsky2015-11-29
|
* unix/modtime: sleep(): Automatically restart after receiving EINTR.Paul Sokolovsky2015-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | THis is required to deal well with signals, signals being the closest analogue of hardware interrupts for POSIX. This is also CPython 3.5 compliant behavior (PEP 475). The main problem implementing this is to figure out how much time was spent in waiting so far/how much is remaining. It's well-known fact that Linux updates select()'s timeout value when returning with EINTR to the remaining wait time. Here's what POSIX-based standards say about this: (http://pubs.opengroup.org/onlinepubs/9699919799/functions/pselect.html): "Upon successful completion, the select() function may modify the object pointed to by the timeout argument." I.e. it allows to modify timeout value, but doesn't say how exactly it is modified. And actually, it allows such modification only "upon successful completion", which returning with EINTR error hardly is. POSIX also allows to request automatic EINTR restart for system calls using sigaction call with SA_RESTART flag, but here's what the same document says about it: "If SA_RESTART has been set for the interrupting signal, it is implementation-defined whether the function restarts or returns with [EINTR]." In other words, POSIX doesn't leave room for both portable and efficient handling of this matter, so the code just allows to manually select Linux-compatible behavior with MICROPY_SELECT_REMAINING_TIME option, or otherwise will just raise OSError. When systems with non-Linux behavior are found, they can be handled separately.
* unix/modtime: Implement ticks_ms(), ticks_us() and ticks_diff().Paul Sokolovsky2015-10-19
| | | | | All of these functions return positive small int, thus range is 2 bits less than word size (30 bit on 32-bit systems, 62 bit on 64-bit systems).
* unix/modtime: Implement sleep_ms(), sleep_us().Paul Sokolovsky2015-10-19
|
* py, unix, lib: Allow to compile with -Wold-style-definition.Damien George2015-01-12
|
* py, unix: Allow to compile with -Wdouble-promotion.Damien George2015-01-12
| | | | Ref issue #699.
* unix: Prefix includes with py/; remove need for -I../py.Damien George2015-01-01
|
* unix: Rename "time" module to "utime" to allow extensibility.Paul Sokolovsky2014-12-17
| | | | Name choosen per latest conventions and for compatibiity with stmhal port.
* Use MP_DEFINE_CONST_DICT macro to define module dicts.Damien George2014-11-29
| | | | | This is just a clean-up of the code. Generated code is exactly the same.
* Rename machine_(u)int_t to mp_(u)int_t.Damien George2014-07-03
| | | | See discussion in issue #50.
* unix: Fix mpconfig.h not being included before misc.hstijn2014-06-28
| | | | This fixes count_lead_ones in misc.h not compiling due to unknown types
* Prefix ARRAY_SIZE with micropython prefix MP_Emmanuel Blot2014-06-19
|
* - Cast the struct stat sb.st_ino field to machine_int_t explicitly to avoid aMarcus von Appen2014-06-07
| | | | | | | | cast error in MP_OBJ_NEW_SMALL_INT(). This is necessary for FreeBSD, where st_ino is of different size - If MP_CLOCKS_PER_SEC is defined on the target host, simply define CLOCK_DIV as a fraction, regardless of the value of MP_CLOCKS_PER_SEC. FreeBSD uses a non-POSIX compliant value of 128 for CLOCKS_PER_SEC
* Rename bultins config variables to MICROPY_PY_BUILTINS_*.Damien George2014-06-01
| | | | | | | | | | This renames: MICROPY_PY_FROZENSET -> MICROPY_PY_BUILTINS_FROZENSET MICROPY_PY_PROPERTY -> MICROPY_PY_BUILTINS_PROPERTY MICROPY_PY_SLICE -> MICROPY_PY_BUILTINS_SLICE MICROPY_ENABLE_FLOAT -> MICROPY_PY_BUILTINS_FLOAT See issue #35 for discussion.
* mingw: Fix compilation issuesstijn2014-05-10
| | | | | - use lowercase windows.h - fix for mingw32 using preprocessor-unfriendly definition of CLOCKS_PER_SEC
* windows: Add modtime implementationstijn2014-05-09
|
* Add license header to (almost) all files.Damien George2014-05-03
| | | | | | | Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
* Add ARRAY_SIZE macro, and use it where possible.Damien George2014-04-26
|
* unix modtime: Convert to static module structures.Paul Sokolovsky2014-04-17
|
* unix modtime: Adhere to MICROPY_ENABLE_FLOAT better.Paul Sokolovsky2014-04-17
|
* unix: Rename module sources per latest naming conventions (mod*.c).Paul Sokolovsky2014-04-04