mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 07:23:04 +01:00
Fixed bug CORE-1456: Wrong events delivery in the case of concurrent XNET connections
This commit is contained in:
parent
87d915a73e
commit
f8a6ea8564
@ -752,9 +752,9 @@ static rem_port* aux_connect(rem_port* port, PACKET* packet, t_event_ast ast)
|
||||
xcc->xcc_recv_channel = &xps->xps_channels[XPS_CHANNEL_S2C_EVENTS];
|
||||
|
||||
UCHAR* const channel_c2s_client_ptr =
|
||||
((UCHAR *) xpm->xpm_address + sizeof(struct xps));
|
||||
((UCHAR *) xcc->xcc_mapped_addr + sizeof(struct xps));
|
||||
UCHAR* const channel_s2c_client_ptr =
|
||||
((UCHAR *) xpm->xpm_address + sizeof(struct xps) + (XNET_EVENT_SPACE));
|
||||
((UCHAR *) xcc->xcc_mapped_addr + sizeof(struct xps) + (XNET_EVENT_SPACE));
|
||||
|
||||
// alloc new port and link xcc to it
|
||||
new_port = alloc_port(NULL,
|
||||
@ -885,9 +885,9 @@ static rem_port* aux_request(rem_port* port, PACKET* packet)
|
||||
xcc->xcc_recv_channel = &xps->xps_channels[XPS_CHANNEL_C2S_EVENTS];
|
||||
|
||||
UCHAR* const channel_s2c_client_ptr =
|
||||
((UCHAR *) xpm->xpm_address + sizeof(struct xps) + (XNET_EVENT_SPACE));
|
||||
((UCHAR *) xcc->xcc_mapped_addr + sizeof(struct xps) + (XNET_EVENT_SPACE));
|
||||
UCHAR* const channel_c2s_client_ptr =
|
||||
((UCHAR *) xpm->xpm_address + sizeof(struct xps));
|
||||
((UCHAR *) xcc->xcc_mapped_addr + sizeof(struct xps));
|
||||
|
||||
// alloc new port and link xcc to it
|
||||
new_port = alloc_port(NULL,
|
||||
@ -2343,7 +2343,7 @@ static XPM get_free_slot(ULONG* map_num, ULONG* slot_num, ULONG* timestamp)
|
||||
// make one now
|
||||
|
||||
if (!xpm) {
|
||||
|
||||
|
||||
// allocate new map file and first slot
|
||||
|
||||
xpm = make_xpm(j, *timestamp);
|
||||
|
Loading…
Reference in New Issue
Block a user