Opened 11 years ago

Closed 9 years ago

#6745 closed Bugs (wontfix)

message_queue deadlock on Windows

Reported by: Diapolo Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.49.0 Severity: Showstopper
Keywords: message_queue, Windows, interprocess Cc:

Description

I have a problem with the use of message_queue on Windows (7). I know the mq file resides in ProgramData/boost_interprocess, now I have an App that executes this simple calls:

interprocess::message_queue* mq; mq = new interprocess::message_queue(interprocess::open_only, BCQT_MQ_NAME);

The call to the mq constructor causes a deadlock, further code is never reached. This happens if I place a file into ProgramData/boost_interprocess that has the name of the mq file, but very different NTFS security descriptors compared to the file the boost code would create via create_only.

I searched the web all over and found this one BOOST_INTERPROCESS_ENABLE_TIMEOUT_WHEN_LOCKING, which I defined by #define BOOST_INTERPROCESS_ENABLE_TIMEOUT_WHEN_LOCKING, but it's not working no exception, still simply a deadlock :-/.

Any idea how I can handle this? I'm using boost 1.49 with this enabled:

#if defined(BOOST_INTERPROCESS_WINDOWS) #define BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME #define BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME #include <boost/interprocess/detail/win32_api.hpp>

Any help would be super great :)!

Dia

Change History (2)

comment:1 by Ion Gaztañaga, 10 years ago

I tried to reproduce your bug with current trunk code without success. An exception is thrown when the message queue can't be created. Can you try with trunk code?

comment:2 by Ion Gaztañaga, 9 years ago

Resolution: wontfix
Status: newclosed

No news from the reporter so I'm closing this issue.

Note: See TracTickets for help on using tickets.