Commit Graph

1359 Commits

Author SHA1 Message Date
Christopher Kohlhoff
15b3e9a902 Make strand destruction a no-op, to allow strand objects to be destroyed after their associated io_service has been destroyed.
[SVN r79525]
2012-07-15 04:38:03 +00:00
Christopher Kohlhoff
8162904ea1 Use the __thread keyword extension when compiling with gcc on linux x86.
[SVN r79524]
2012-07-15 04:35:08 +00:00
Christopher Kohlhoff
fa10fb2fff Avoid calling work_finished() if a completion handler creates more work.
[SVN r79523]
2012-07-15 04:30:50 +00:00
Christopher Kohlhoff
8288819a86 Eliminate redundant call to call_stack::contains(this) when dispatching a completion handler.
[SVN r79522]
2012-07-15 04:26:05 +00:00
Christopher Kohlhoff
0736d31291 Add support for some newer versions of glibc which provide the epoll_create1 function but always fail with ENOSYS. Refs #7012
[SVN r79521]
2012-07-15 04:22:28 +00:00
Christopher Kohlhoff
b510b81b70 Use SSE2 load and store fences.
[SVN r79520]
2012-07-15 04:18:37 +00:00
Christopher Kohlhoff
5d4e191a92 Throw exception if SSL engine initialisation fails. Refs #6303
[SVN r79519]
2012-07-15 04:17:06 +00:00
Christopher Kohlhoff
91eea21a78 Fix another regression in buffered_write_stream. Refs #6310
[SVN r79518]
2012-07-15 04:10:59 +00:00
Christopher Kohlhoff
4a3b7d9ad7 Merge from trunk:
* Add support for g++ 4.7 when compiling in C++11 mode. Update revision
  history. Fixes #6620.

* Use the thread's private_op_queue for handlers returned by the reactor task.
  This fixes a problem where signal_set handlers are not being called when the
  io_service's concurrency hint is set to 1. Fixes #6657.


[SVN r78740]
2012-05-29 07:26:58 +00:00
Christopher Kohlhoff
cf17fa2fc8 Use the thread's private_op_queue for handlers returned by the reactor task.
This fixes a problem where signal_set handlers are not being called when the
io_service's concurrency hint is set to 1. Refs #6657.


[SVN r78739]
2012-05-28 22:03:36 +00:00
Christopher Kohlhoff
5882dc476c Add support for g++ 4.7 when compiling in C++11 mode. Update revision history.
[SVN r78738]
2012-05-28 21:36:43 +00:00
Christopher Kohlhoff
96b61282c8 Version bump.
[SVN r78709]
2012-05-28 10:18:11 +00:00
Christopher Kohlhoff
eccba8602c Merge from trunk:
* Use correct basic_io_object member functions so that basic_object_handle works with c++11 compilers.

* Respect the OPENSSL_NO_ENGINE feature test #define.

* Last version's race-condition-related revert in the epoll_reactor was
  incomplete and broke out-of-band handling. Fixed epoll_reactor::start_op so
  that it is now exactly the same as the older, working version.

* Remove trailing whitespace.

* Eliminate a lock/unlock pair when rescheduling a strand.

* Added lazy registration for EPOLLOUT.

* Revision history.


[SVN r78708]
2012-05-28 10:16:08 +00:00
Christopher Kohlhoff
4456432d2e Revision history.
[SVN r78668]
2012-05-26 22:30:57 +00:00
Christopher Kohlhoff
b7c806fc78 Added lazy registration for EPOLLOUT.
[SVN r78667]
2012-05-26 22:28:34 +00:00
Christopher Kohlhoff
21d2df5acc Eliminate a lock/unlock pair when rescheduling a strand.
[SVN r78666]
2012-05-26 22:25:30 +00:00
Christopher Kohlhoff
69a388f92d Remove trailing whitespace.
[SVN r78665]
2012-05-26 22:23:53 +00:00
Christopher Kohlhoff
70598a8a58 Last version's race-condition-related revert in the epoll_reactor was
incomplete and broke out-of-band handling. Fixed epoll_reactor::start_op so
that it is now exactly the same as the older, working version.


[SVN r78664]
2012-05-26 22:22:46 +00:00
Christopher Kohlhoff
1fe87f03b4 Respect the OPENSSL_NO_ENGINE feature test #define.
[SVN r78663]
2012-05-26 22:20:47 +00:00
Christopher Kohlhoff
4806f0e274 Use correct basic_io_object member functions so that basic_object_handle works with c++11 compilers.
[SVN r78662]
2012-05-26 22:16:14 +00:00
Christopher Kohlhoff
0f3e258725 Merge [77033] from trunk:
Fixed a bug where the second buffer in an array of two buffers may be ignored
if the first buffer is empty.


[SVN r77056]
2012-02-17 13:13:11 +00:00
Christopher Kohlhoff
b4e3ff2d9e Fixed a bug where the second buffer in an array of two buffers may be ignored
if the first buffer is empty.


[SVN r77033]
2012-02-15 22:16:53 +00:00
Christopher Kohlhoff
ca33b8d406 Merge [76990] from trunk:
Reverted earlier change to allow some speculative operations to be performed
without holding the lock, as it introduced a race condition in some
multithreaded scenarios.


[SVN r77002]
2012-02-12 21:20:29 +00:00
Christopher Kohlhoff
40608f9e0d Reverted earlier change to allow some speculative operations to be performed
without holding the lock, as it introduced a race condition in some
multithreaded scenarios.


[SVN r76990]
2012-02-12 12:53:06 +00:00
Christopher Kohlhoff
d2982a6869 Version bump.
[SVN r76517]
2012-01-15 13:54:16 +00:00
Christopher Kohlhoff
bb38d425fb Merge from trunk:
* Chrono support.

* Added object_handle support.

* Need to enable the basic_handle class when object_handle is supported.

* Update copyright notices.

* Fix MSVC "performance warning".

* Fix for NetBSD. Fixes #6098.

* Fix regression in buffered_write_stream. Fixes #6310.

* Fix deadlock on Mac OS X. Fixes #6275.

* On linux, connect can return EAGAIN in certain circumstances. Remap to another
  error so that it doesn't look like a non-blocking operation. Fixes #6048.

* Fix non-paged pool "leak" on Windows when io_service is repeatedly run without anything to do. Fixes #6321.

* Disable object_handle on Windows CE.

* Add extra include required for OVERLAPPED struct.

* Fix doxygen comments.

* Update documentation.

* Add missing class.

* Update copyright year.


[SVN r76516]
2012-01-15 13:46:25 +00:00
Christopher Kohlhoff
4e9e7b595b Update copyright year.
[SVN r76513]
2012-01-15 13:18:46 +00:00
Christopher Kohlhoff
5777189dc8 Add missing class.
[SVN r76512]
2012-01-15 12:52:58 +00:00
Christopher Kohlhoff
c8098f25eb Update documentation.
[SVN r76511]
2012-01-15 12:51:20 +00:00
Christopher Kohlhoff
657c782117 Fix doxygen comments.
[SVN r76507]
2012-01-15 11:29:25 +00:00
Christopher Kohlhoff
be171b6abb Add extra include required for OVERLAPPED struct.
[SVN r76449]
2012-01-13 12:58:52 +00:00
Christopher Kohlhoff
c1a8562cf9 Disable object_handle on Windows CE.
[SVN r76448]
2012-01-13 12:57:59 +00:00
Christopher Kohlhoff
0725446de9 Fix non-paged pool "leak" on Windows when io_service is repeatedly run without anything to do. Refs #6321.
[SVN r76432]
2012-01-12 13:38:17 +00:00
Christopher Kohlhoff
c2d491a4e0 On linux, connect can return EAGAIN in certain circumstances. Remap to another
error so that it doesn't look like a non-blocking operation. Refs #6048.


[SVN r76430]
2012-01-12 12:27:02 +00:00
Christopher Kohlhoff
28fe058750 Fix deadlock on Mac OS X. Refs #6275.
[SVN r76427]
2012-01-12 10:08:15 +00:00
Christopher Kohlhoff
19da914b2c Fix regression in buffered_write_stream. Refs #6310.
[SVN r76426]
2012-01-12 07:42:47 +00:00
Christopher Kohlhoff
a132c47ca6 Fix for NetBSD. Refs #6098.
[SVN r76425]
2012-01-12 07:37:57 +00:00
Christopher Kohlhoff
d649b2acb8 Fix MSVC "performance warning".
[SVN r76424]
2012-01-12 07:30:05 +00:00
Christopher Kohlhoff
30f3e430a7 Update copyright notices.
[SVN r76420]
2012-01-11 23:04:08 +00:00
Christopher Kohlhoff
70cd19f75b Need to enable the basic_handle class when object_handle is supported.
[SVN r76408]
2012-01-11 07:10:06 +00:00
Christopher Kohlhoff
81f394e29d Added object_handle support.
[SVN r76397]
2012-01-10 09:58:05 +00:00
Christopher Kohlhoff
40316dfdb4 Chrono support.
[SVN r76380]
2012-01-09 13:43:38 +00:00
Christopher Kohlhoff
895717964e Revert previous incorrect commit.
[SVN r76379]
2012-01-09 12:55:45 +00:00
Christopher Kohlhoff
96fd7e1906 Exclude detail class from documentation.
[SVN r76378]
2012-01-09 12:53:32 +00:00
Christopher Kohlhoff
3aad45b5f1 Fix typo in revision history.
[SVN r75474]
2011-11-13 11:56:12 +00:00
Christopher Kohlhoff
a4732fab01 Fix typo in revision history.
[SVN r75473]
2011-11-13 11:54:23 +00:00
Christopher Kohlhoff
309589f005 Fix and regenerate documentation.
[SVN r75011]
2011-10-17 12:12:51 +00:00
Christopher Kohlhoff
5d8be62a80 Fix and regeneration documentation.
[SVN r75010]
2011-10-17 12:10:18 +00:00
Christopher Kohlhoff
9e553eca74 Merge from trunk:
* Make number of strand implementations configurable by defining
  BOOST_ASIO_STRAND_IMPLEMENTATIONS to the number.

* Programs can now define BOOST_ASIO_ENABLE_SEQUENTIAL_STRAND_ALLOCATION to
  switch the allocation of strand implementations to use a round-robin approach
  rather than hashing.

* Fix potential strand starvation issue that can occur when strand.post() is used.

* Update descriptor state allocation in kqueue_reactor to match approach used in
  epoll_reactor.

* Construct epoll_reactor's interrupter member first to fix exception safety
  issue. Fixes #6006

* Clarify that the read operation ends when the buffer is full. Fixes #5999


[SVN r75009]
2011-10-17 11:32:28 +00:00
Christopher Kohlhoff
74b0262b6c Revision history.
[SVN r75005]
2011-10-17 11:05:53 +00:00