Opened 9 years ago

Closed 9 years ago

#9413 closed Bugs (invalid)

boost::ipc::message_queue does not support 32 process communicate with 64 process

Reported by: huyuguang <huyuguang@…> Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.54.0 Severity: Problem
Keywords: Cc:

Description

The win_msg_hdr_t, msg_hdr_t, win_mq_hdr_t, mq_hdr_t use typedef typename boost::make_unsigned<difference_type>::type size_type;

The sizeof(size_type) is 32 in 32 bit process and 64 in 64 bit process. So when a 32 bit process want to communicate with a 64 bit process, the sizeof(msg_hdr_t) is not equal, which would cause process crash.

Now I

Change History (2)

comment:1 by huyuguang <huyuguang@…>, 9 years ago

I am so sorry. Please ignore the ticket.

I should use typedef windows_message_queue_t<offset_ptr<void, int, unsigned int> > windows_message_queue32;

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

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.