Subject: [Boost-bugs] [Boost C++ Libraries] #11660: interprocess::winapi::get_last_bootup_time(std::string &stamp) fails, resulting in bad IPC name
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-09-16 14:57:08
#11660: interprocess::winapi::get_last_bootup_time(std::string &stamp) fails,
resulting in bad IPC name
------------------------------+--------------------------
Reporter: bmccart@⦠| Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: interprocess
Version: Boost 1.59.0 | Severity: Problem
Keywords: bootup time |
------------------------------+--------------------------
Using interprocess::managed_shared_memory fails on Windows 7 in restricted
environments (i.e. running under IIS/AppPool). It fails to create IPC
primites properly, even if an administrator account is being impersonated.
It doesn't fail if running a regular process as the IIS/AppPool user. It
fails in that the shared memory object created doesn't have the intended
name, and when boost interprocess attempts to open the primitive in
another process it fails, do to file name discrepancies.
Specifically, interprocess::winapi::get_last_bootup_time(std::string
&stamp) fails to retrieve the bootup time, as a consequence of failing to
open the system log file (GetLastError() produces ERROR_ACCESS_DENIED) and
instead produces an empty string. This does not occur in the other
process.
The attached alternate implementation for getting a bootup time is working
for me in the above scenario.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11660> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:19 UTC