Opened 7 years ago

Closed 7 years ago

#6275 closed Bugs (fixed)

On Mac OS X deadline_timer::cancel() may hangs

Reported by: Andrew Kargalov <a.kargalov@…> Owned by: chris_kohlhoff
Milestone: To Be Determined Component: asio
Version: Boost 1.48.0 Severity: Problem
Keywords: Cc:


When deadline_timer is canceled from signal handler after the next signal arrived it cause hang on detail::posix_mutex::lock().

This behaviour couldn't be reproduced on linux and freebsd.

Attachments (1)

asio-bug1.cpp (3.0 KB) - added by Andrew Kargalov <a.kargalov@…> 7 years ago.
minimal test case

Download all attachments as: .zip

Change History (3)

Changed 7 years ago by Andrew Kargalov <a.kargalov@…>

Attachment: asio-bug1.cpp added

minimal test case

comment:1 Changed 7 years ago by chris_kohlhoff

(In [76427]) Fix deadlock on Mac OS X. Refs #6275.

comment:2 Changed 7 years ago by chris_kohlhoff

Resolution: fixed
Status: newclosed

(In [76516]) 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.
Note: See TracTickets for help on using tickets.