forked from pool/python-gevent
2827e6880234e1204ac49bf2fb1639fe2aaed0f25682b5f727071082e7ac0976
- The file objects (FileObjectPosix, FileObjectThread) now
consistently text and binary modes. If neither 'b' nor 't' is
given in the mode, they will read and write native strings.
If 't' is given, they will always work with unicode strings,
and 'b' will always work with byte strings. (FileObjectPosix
already worked this way.) See :issue:`1441`.
- The file objects accept encoding, errors and newline
arguments. On Python 2, these are only used if 't' is in the
mode.
- The default mode for FileObjectPosix changed from rb to
simply r, for consistency with the other file objects and the
standard open and io.open functions.
- Fix FileObjectPosix improperly being used from multiple
greenlets. Previously this was hidden by forcing buffering,
which raised RuntimeError.
- Fix using monkey-patched threading.Lock and threading.RLock
objects as spin locks by making them call sleep(0) if they
failed to acquire the lock in a non-blocking call. This lets
other callbacks run to release the lock, simulating
preemptive threading. Using spin locks is not recommended,
but may have been done in code written for threads,
especially on Python 3. See :issue:`1464`.
- Fix Semaphore (and monkey-patched threading locks) to be
fair. This eliminates the rare potential for starvation of
greenlets. As part of this change, the low-level method
rawlink of Semaphore, Event, and AsyncResult now always
remove the link object when calling it, so unlink can
sometimes be optimized out. See :issue:`1487`.
- Make gevent.pywsgi support Connection: keep-alive in
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=61
Description
No description provided
Languages
Diff
100%