boost中的异常:进程间,共享内存对象删除

时间:2016-02-04 16:57:57

标签: c++ boost boost-interprocess

有一段简单的代码我转移到示例应用程序的主要功能,以避免影响任何其他应用程序部分:

setInterval(function() {

  $.ajax({
    type: "POST",
    url: 'www.example.com/test.php',
    success: function(data) {
      alert(data);
      if (data != 'None') {
        url = data;
        document.getElementById("disableddesktop").style.display = "none";
        document.getElementById("download").style.display = "block";
        document.getElementById("enableddesktopscan").style.display = "block";

        $.ajax({
          type: "POST",
          url: 'www.example.com/test.php',
          data: {
            plan: document.getElementById("plan").value,
            country: document.getElementById("firstcountry").value
          },
          success: function(data) {
            console.log(data);
            numberoforders = data;
            document.getElementById("total").innerHTML = data;
          }
        });

        return;
      }
    }
  });
}, 9000);

只是第一行在内部boost进程间代码中引发异常: 在windows_intermodule_singleton.hpp中,118(v 1.60.0) 粗线是它发生的地方。 Win64,VC v19,Windows 10

    namespace bi = boost:interprocess;

    bi::shared_memory_object::remove("shm");
    bi::named_mutex::remove("mtx");
    bi::named_condition::remove("cnd");

不知道为什么会这样?这可能与x64内存模型有关吗?

1 个答案:

答案 0 :(得分:0)

这不是例外,我的注意力不集中, 使用所有/ RTC编译器设置编译,这个地方看起来像潜在的数据丢失(?)8字节到4。 windbg报道:_RTC_Check_8_to_4