Ticket #8595 (closed Bugs: fixed)

Opened 4 years ago

Last modified 4 years ago

mapped_region::flush - invalid interpretation of async parameter (win32)

Reported by: voropaev_sg@… Owned by: igaztanaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.53.0 Severity: Problem
Keywords: flush async Cc:


We had serious performance problem after transfer to boost version 1.53. The reason - bug in processing of "async" parameter of mapped_region::flush (windows version).

   else if(async && m_file_or_mapping_hnd != winapi::invalid_handle_value &&
           winapi::get_file_type(m_file_or_mapping_hnd) == winapi::file_type_disk)
      return winapi::flush_file_buffers(m_file_or_mapping_hnd);

So if async = true then flush function works in synchronous mode. I think the code must be:

else if(!async && ....

Sergey Voropaev


Change History

comment:1 Changed 4 years ago by igaztanaga

Thanks for the report, just in time for Boost 1.54

comment:2 Changed 4 years ago by igaztanaga

  • Status changed from new to closed
  • Resolution set to fixed

(In [84390]) Fixes #8595


Add a comment

Modify Ticket

Change Properties
<Author field>
as closed
The resolution will be deleted. Next status will be 'reopened'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.