Commit Graph

512 Commits

Author SHA1 Message Date
Yury Selivanov af4ab228dc Don't set FD_CLOEXEC on stdio/stdin/stderr etc.
Fixes issue #40.
2016-07-09 12:27:53 -04:00
Yury Selivanov e3cbfa1aa8 loop._getaddrinfo: Check if the Future is cancelled before setting error 2016-07-07 18:13:09 -04:00
Yury Selivanov 32adc5038e Fix codestyle 2016-07-07 17:51:26 -04:00
Yury Selivanov 034c3cc3ca Bump the version to v0.4.33 2016-07-05 17:23:22 -04:00
Yury Selivanov 6e9c43bdec transport: Return duplicate sockets from get_extra_info('socket')
It appears that people use sockets returned from
`transport.get_extra_info('socket')` with low-level APIs such as
add_writer and remove_writer.

If the returned socket fileno is the same as the one that transport
is using, libuv will crash, since one fileno can't point to two
different handles (uv_poll_t and uv_tcp_t).

See also https://github.com/python/asyncio/issues/372
2016-07-05 17:10:29 -04:00
Yury Selivanov 32f5fc7d21 tests: Do GC after each test
This makes it easier to understand which test causes
ResourceWarnings.
2016-07-05 17:09:41 -04:00
Yury Selivanov f1d37c6db9 Update manifest.in to include both licenses 2016-07-05 15:25:09 -04:00
Yury Selivanov 956d6cd86a Dual-license uvloop under MIT and Apache 2.0 2016-07-05 15:04:11 -04:00
William Pitcock fa798e44e2 makefile: support the python binary being called something else 2016-07-05 14:50:06 -04:00
Yury Selivanov 6ebd07d88a Don't use dynamic memory allocation for libuv handles/requests
This should fix a memory leak discovered in [1].  It will also
make everything slightly faster.

[1] https://github.com/MagicStack/uvloop/issues/37
2016-07-05 14:43:57 -04:00
Yury Selivanov ca0f1ef363 Bump the version to 0.4.32 2016-07-04 19:23:45 -04:00
Yury Selivanov 44a6ab6e02 Issue #33: Add slow_callback_duration property to loop 2016-07-04 19:21:29 -04:00
Yury Selivanov 28ddbfa452 tests: Drop test_connect_silent_cancellation (not portable) 2016-07-04 17:40:59 -04:00
Yury Selivanov 98b7a0bb3a Issue #36: Ingnore CancelledError in transport.connect 2016-07-04 17:22:02 -04:00
Yury Selivanov a5e7bb6221 Issue #34: Fix UVPoll handler crash 2016-07-04 15:53:41 -04:00
Yury Selivanov 13fb68b258 readme: Fix markup 2016-06-28 18:17:37 -04:00
Yury Selivanov 335138799d Bump the version to 0.4.31 2016-06-28 18:11:47 -04:00
Yury Selivanov 70c552c9de Fix uvloop tests under 3.5.2 2016-06-28 18:02:48 -04:00
Yury Selivanov 4e3065cb51 readme: Update PyPI badge 2016-06-28 18:02:13 -04:00
Yury Selivanov 36b791f6b1 Simplify code working with func pointers 2016-06-23 20:09:24 -04:00
Yury Selivanov 6f93a8131d subprocess: Use Cython DEFs for constants 2016-06-09 14:42:29 -04:00
Yury Selivanov 37bf83e36b subprocess: Add an XXX comment about some blocking code in process handle 2016-06-09 14:41:59 -04:00
Yury Selivanov 7cb4451a38 Bump the version to v0.4.30 2016-06-09 11:17:21 -04:00
Yury Selivanov 905bd8eea0 subprocess: Do extra work for error processing only for preexec_fn 2016-06-08 17:29:33 -04:00
Yury Selivanov b5b3b12dbb subprocess: Support 'preexec_fn' and 'restore_signals' arguments 2016-06-08 17:18:06 -04:00
Yury Selivanov a11c5b88b1 Fix sock_connect to resolve addresses (as in asyncio/CPython 3.5.2) 2016-06-08 12:23:41 -04:00
Yury Selivanov 9057fcb839 Bump the version to 0.4.29 2016-05-29 01:17:42 -07:00
Yury Selivanov 37a0b15d42 Correctly handle local_addr in create_connection
Initial patch by Rahul Verma.
2016-05-29 01:13:40 -07:00
Yury Selivanov 6a1678ed48 examples/bench: Add --mpr (messages/request) param to echoclient.py 2016-05-24 13:48:40 -04:00
Yury Selivanov 9fdbc5e14c docs: Hide the API section for now 2016-05-24 13:45:36 -04:00
Yury Selivanov 71d8ef8a87 examples/bench: Add a new benchmark - readline server 2016-05-24 11:53:44 -04:00
Yury Selivanov 9fe1a650fd examples/bench: Fix client to use TCP_NODELAY and end messages with b'\n' 2016-05-24 11:52:45 -04:00
Yury Selivanov 48a6b1829e Rename benchmarks 2016-05-24 11:32:05 -04:00
Yury Selivanov bee505b874 readme: a few edits 2016-05-24 10:26:16 -04:00
Yury Selivanov 26b3b048e9 tests: Drop dead code 2016-05-24 10:23:53 -04:00
Yury Selivanov fb793bc049 tests: Make base test class complain if there are duplicate tests 2016-05-23 19:24:04 -04:00
Yury Selivanov 3d7a4b22ac Bump the version to v0.4.28 2016-05-23 18:48:52 -04:00
Yury Selivanov 25a76b2c99 tests/dns: Add a test for '::1' ipv6 address 2016-05-23 18:48:52 -04:00
Yury Selivanov 67ab05da3e test: Fix getaddrinfo tests 2016-05-23 18:38:03 -04:00
Yury Selivanov 2116189e70 Use sockaddr_storage instead of sockaddr to prevent stack smashing 2016-05-23 17:22:06 -04:00
Yury Selivanov 90214faa05 Fix loop.create_connection() to skip DNS lookup if host is an IP address 2016-05-23 15:46:51 -04:00
Yury Selivanov 67fa30a6fd Optimize loop.getaddrinfo(): see if the address is an IP address already 2016-05-23 15:11:44 -04:00
Yury Selivanov 011b1295eb tests: More tests for getaddrinfo() 2016-05-23 14:27:41 -04:00
Yury Selivanov c4bd13b2db tests: Add more tests for getaddrinfo 2016-05-23 14:07:59 -04:00
Yury Selivanov bf13b76588 Refactor loop.create_server: factor out the instantiation of TCPServer 2016-05-23 13:15:51 -04:00
Yury Selivanov 14d83c1ce6 Fix loop.create_server() to error on non-int backlog argument 2016-05-23 12:04:04 -04:00
Yury Selivanov aa99a1895d Bump the version to v0.4.27 2016-05-22 22:28:41 -04:00
Yury Selivanov f5ca51bcc0 Fix call_later to update libuv time 2016-05-22 22:28:09 -04:00
Yury Selivanov 784f5705ff setup: Include performance.png in sdist 2016-05-22 15:02:18 -04:00
Yury Selivanov 402e796498 make: Ensure Cython 0.24 is installed 2016-05-22 14:59:40 -04:00