boost::asio 1.4.3的linux实现总算采用epoll的et模式了

Asio:

  • Improved performance.
  • Reduced compile times.
  • Reduced the size of generated code.
  • Extended the guarantee that background threads don't call user code to all asynchronous operations (#3923).
  • Changed to use edge-triggered epoll on Linux.
  • Changed to use timerfd for dispatching timers on Linux, when available.
  • Changed to use one-shot notifications with kqueue on Mac OS X and BSD platforms.
  • Added a bitmask type ip::resolver_query_base::flags as per the TR2 proposal. This type prevents implicit conversion from int to flags, allowing the compiler to catch cases where users incorrectly pass a numeric port number as the service name.
  • Added #define NOMINMAX for all Windows compilers. Users can define BOOST_ASIO_NO_NOMINMAX to suppress this definition (#3901).
  • Fixed a bug where 0-byte asynchronous reads were incorrectly passing an error::eof result to the completion handler (#4023).
  • Changed the io_control() member functions to always call ioctl on the underlying descriptor when modifying blocking mode (#3307).
  • Changed the resolver implementation to longer require the typedefs InternetProtocol::resolver_query and InternetProtocol::resolver_iterator, as neither typedef is part of the documented InternetProtocol requirements. The corresponding typedefs in the ip::tcpip::udp and ip::icmp classes have been deprecated.
  • Fixed out-of-band handling for reactors not based on select().
  • Added new BOOST_ASIO_DISABLE_THREADS macro that allows Asio's threading support to be independently disabled.
  • Minor documentation improvements.

 

你可能感兴趣的:(linux,documentation,compiler,asynchronous,Descriptor,notifications)