Xiang Zhang
303475e873
Fix a compile warning in selectmodule.c. (GH-16617)
2019-10-07 20:01:54 +08:00
Dino Viehland
f919054e53
bpo-38116: Convert select module to PEP-384 ( #15971 )
...
* Convert select module to PEP-384
Summary: Do the necessary versions to be Pyro-compatible, including migrating `PyType_Ready` to `PyType_FromSpec` and moving static data into a new `_selectstate` struct.
* 📜 🤖 Added by blurb_it.
* Fixup Mac OS/X build
2019-09-14 15:20:27 +01:00
Jeroen Demeyer
762f93ff2e
bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267)
2019-07-08 17:19:25 +09:00
Jeroen Demeyer
530f506ac9
bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464)
...
Automatically replace
tp_print -> tp_vectorcall_offset
tp_compare -> tp_as_async
tp_reserved -> tp_as_async
2019-05-30 19:13:39 -07:00
Serhiy Storchaka
a24107b04c
bpo-35459: Use PyDict_GetItemWithError() instead of PyDict_GetItem(). (GH-11112)
2019-02-25 17:59:46 +02:00
Zackery Spytz
99d56b5356
bpo-35441: Remove dead and buggy code related to PyList_SetItem(). (GH-11033)
...
In _localemodule.c and selectmodule.c, remove dead code that would
cause double decrefs if run.
In addition, replace PyList_SetItem() with PyList_SET_ITEM() in cases
where a new list is populated and there is no possibility of an error.
In addition, check if the list changed size in the loop in array_array_fromlist().
2018-12-08 16:16:55 +02:00
Oran Avraham
7f52415a6d
bpo-35310: Clear select() lists before returning upon EINTR (GH-10877)
...
select() calls are retried on EINTR (per PEP 475). However, if a
timeout was provided and the deadline has passed after running the
signal handlers, rlist, wlist and xlist should be cleared since select(2)
left them unmodified.
2018-12-05 21:36:03 +01:00
Serhiy Storchaka
d4f9cf5545
bpo-33029: Fix signatures of getter and setter functions. (GH-10746)
...
Fix also return type for few other functions (clear, releasebuffer).
2018-11-27 19:34:35 +02:00
Berker Peksag
b690b9b047
bpo-29386: Pass -1 to epoll_wait() when timeout is < -1 (GH-9040)
...
Although the kernel accepts any negative value for timeout, the
documented value to block indefinitely is -1.
This commit also makes the code similar to select.poll.poll().
2018-09-11 20:29:48 +03:00
Michael Osipov
0e6e7a1e52
bpo-34419: selectmodule.c does not compile on HP-UX due to bpo-31938 (GH-8796)
...
Fix compile errors reported by HP aCC by fixing bugs introduced in 6dc57e2a20
which do not cause trouble on clang or GCC.
Patch by Michael Osipov.
2018-08-17 14:43:02 +03:00
Serhiy Storchaka
7cb7bcff20
bpo-20260: Implement non-bitwise unsigned int converters for Argument Clinic. (GH-8434)
2018-07-26 13:22:16 +03:00
Tal Einat
6dc57e2a20
bpo-31938: Convert selectmodule.c to Argument Clinic (GH-4265)
2018-06-30 23:02:48 +03:00
Tal Einat
0cdf5f4289
bpo-32568: make select.epoll() and its docs consistent ( #7840 )
...
* `flags` is indeed deprecated, but there is a validation on its value for
backwards compatibility reasons. This adds mention of this in the docs.
* The docs say that `sizehint` is deprecated and ignored, but it is still
used when `epoll_create1()` is unavailable. This adds mention of this in
the docs.
* `sizehint=-1` is acceptable again, and is replaced with `FD_SETSIZE-1`.
This is needed to have a default value available at the Python level,
since `FD_SETSIZE` is not exposed to Python. (see: bpo-31938)
* Reject `sizehint=0` since it is invalid to pass on to `epoll_create()`.
The relevant tests have also been updated.
2018-06-30 15:43:23 +03:00
Siddhesh Poyarekar
55edd0c185
bpo-33012: Fix invalid function cast warnings with gcc 8 for METH_NOARGS. (GH-6030)
...
METH_NOARGS functions need only a single argument but they are cast
into a PyCFunction, which takes two arguments. This triggers an
invalid function cast warning in gcc8 due to the argument mismatch.
Fix this by adding a dummy unused argument.
2018-04-29 21:59:33 +03:00
oldk
aa0735f597
bpo-32747: Remove trailing spaces in docstrings. (GH-5491)
2018-02-02 10:52:55 +02:00
Victor Stinner
b8d90328ad
bpo-28914: Fix compilation of select on Android ( #5447 )
...
EPOLL_CLOEXEC is not defined on Android.
Co-Authored-By: Wataru Matsumoto <sxsns243@gmail.com>
2018-01-30 12:18:54 +01:00
stratakis
e8b1965639
bpo-23699: Use a macro to reduce boilerplate code in rich comparison functions (GH-793)
2017-11-02 20:32:54 +10:00
Serhiy Storchaka
2298fad5ff
bpo-31893: Fix errors in b9052a0f91
. ( #4196 )
...
* Fix a compilation error on FreeBSD.
* Fix the data attribute size on Mac OS X.
2017-10-31 18:18:21 +02:00
Serhiy Storchaka
b9052a0f91
bpo-31893: Fixed select.kqueue(). ( #4166 )
...
* Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD.
* Fixed the comparison of the kqueue_event objects.
2017-10-31 13:59:55 +02:00
Riccardo Coccioli
6cfa927ceb
bpo-31334: Fix timeout in select.poll.poll() (GH-3277)
...
Always pass -1, or INFTIM where defined, to the poll() system call when
a negative timeout is passed to the poll.poll([timeout]) method in the
select module. Various OSes throw an error with arbitrary negative
values.
2017-10-17 12:45:07 -07:00
Pablo Galindo
2c15b29aea
bpo-31786: Make functions in the select module blocking when timeout is a small negative value. ( #4003 )
2017-10-17 17:14:41 +03:00
Serhiy Storchaka
de07210077
bpo-30058: Fixed buffer overflow in select.kqueue.control(). ( #1095 )
2017-10-12 22:17:46 +03:00
Serhiy Storchaka
bf623ae884
bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() ( #1096 )
...
raised an error.
Replace them with using concrete types API that never fails if appropriate.
2017-04-19 20:03:52 +03:00
Serhiy Storchaka
55fe1ae970
bpo-30022: Get rid of using EnvironmentError and IOError (except test… ( #1051 )
2017-04-16 10:46:38 +03:00
Serhiy Storchaka
783d0c1a1c
bpo-28667: Fix a compile warning on FreeBSD when compare with FD_SETSIZE. ( #501 )
...
FreeBSD is the only platforms with unsigned FD_SETSIZE.
2017-03-12 14:43:12 +02:00
Serhiy Storchaka
228b12edcc
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible. Patch is writen with Coccinelle.
2017-01-23 09:47:21 +02:00
Serhiy Storchaka
5ab81d787f
Issue #28959 : Added private macro PyDict_GET_SIZE for retrieving the size of dict.
2016-12-16 16:18:57 +02:00
Berker Peksag
e2197d1312
Issue #20100 : Simplify newPyEpoll_Object()
...
EPOLL_CLOEXEC is the only value that can be passed
to epoll_create1() and we are passing EPOLL_CLOEXEC
unconditionally since Python 3.4.
2016-09-26 23:30:41 +03:00
Berker Peksag
7ec64562b2
Issue #28153 : Make kqueue()'s event filters optional
...
Patch by Ed Schouten.
2016-09-14 18:16:59 +03:00
Benjamin Peterson
ca47063998
replace Py_(u)intptr_t with the c99 standard types
2016-09-06 13:47:26 -07:00
Berker Peksag
e1d22fda7e
Expose EPOLLRDHUP conditionally
2016-08-08 13:39:43 +03:00
Berker Peksag
fe8d966657
Issue #27567 : Expose the POLLRDHUP constant in the select module
2016-07-19 21:09:26 +03:00
Benjamin Peterson
0715ce358a
add EPOLLEXCLUSIVE
2016-07-18 22:02:44 -07:00
Benjamin Peterson
96e97169cc
expose EPOLLRDHUP ( closes #27567 )
2016-07-18 21:47:39 -07:00
Senthil Kumaran
0594cff293
merge from 3.5
...
issue27018 - Fix the documentation of select.epoll.register method.
2016-05-14 21:29:03 -07:00
Senthil Kumaran
507898d35d
issue27018 - Fix the documentation of select.epoll.register method.
2016-05-14 21:28:22 -07:00
Serhiy Storchaka
b6a9c9761c
Issue #26778 : Fixed "a/an/and" typos in code comment, documentation and error
...
messages.
2016-04-17 09:39:28 +03:00
Serhiy Storchaka
2d06e84455
Issue #25923 : Added the const qualifier to static constant arrays.
2015-12-25 19:53:18 +02:00
Benjamin Peterson
e5df40727c
merge 3.4 ( #25371 )
2015-10-10 19:32:33 -07:00
Benjamin Peterson
b397e3b526
add a missing comma ( closes #25371 )
2015-10-10 19:32:20 -07:00
Zachary Ware
3e77677692
Issue #23652 : Make the select module compile against LSB headers.
...
Patch by Matt Frank.
2015-08-01 21:34:05 -05:00
Zachary Ware
1824544d82
Issue #23652 : Merge with 3.4
2015-08-01 21:38:04 -05:00
Victor Stinner
45ca48b03d
Issue #23485 : select.devpoll.poll() is now retried when interrupted by a signal
2015-03-31 12:10:33 +02:00
Victor Stinner
4448c08451
Issue #23485 : select.kqueue.control() is now retried when interrupted by a signal
2015-03-31 11:48:34 +02:00
Victor Stinner
41eba224de
Issue #23485 : select.epoll.poll() is now retried when interrupted by a signal
2015-03-30 21:59:21 +02:00
Victor Stinner
3c7d6e0693
Issue #23485 : select.poll.poll() is now retried when interrupted by a signal
2015-03-30 21:38:00 +02:00
Victor Stinner
f70e1ca0fc
Issue #23485 : select.select() is now retried automatically with the recomputed
...
timeout when interrupted by a signal, except if the signal handler raises an
exception. This change is part of the PEP 475.
The asyncore and selectors module doesn't catch the InterruptedError exception
anymore when calling select.select(), since this function should not raise
InterruptedError anymore.
2015-03-30 21:16:11 +02:00
Victor Stinner
869e1778c0
Issue #22117 : Replace usage of _PyTime_ROUND_UP with _PyTime_ROUND_CEILING
...
All these functions only accept positive timeouts, so this change has no effect
in practice.
2015-03-30 03:49:14 +02:00
Victor Stinner
c337838af7
Issue #22117 : Use the new _PyTime_t API in the select module
2015-03-28 05:07:51 +01:00
Victor Stinner
54799672da
Issue #23708 : select.devpoll now retries its internal write() when interrupted
...
by a signal (EINTR).
Modify devpoll_flush() to use _Py_write() instead of calling directly write().
2015-03-19 23:33:09 +01:00