From a52b995ca2ac2fa2993fda093d42a4dcba67f8b0 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Thu, 13 Jan 2011 16:21:31 -0600 Subject: [PATCH] rsrv: Fixed large array element count bug Reverted commit 12095.2.5 which introduced an incorrect optimization. Fixes:701673 --- src/rsrv/caserverio.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/src/rsrv/caserverio.c b/src/rsrv/caserverio.c index 119ad5e3a..466e492f0 100644 --- a/src/rsrv/caserverio.c +++ b/src/rsrv/caserverio.c @@ -33,10 +33,6 @@ #define epicsExportSharedSymbols #include "server.h" -/* As an optimisation, any message allocated with a large header is resized to - * use a small header if the payload size is below this threshold. */ -#define SMALL_MESSAGE_THRESHOLD 65 - /* * cas_send_bs_msg() * @@ -357,19 +353,8 @@ void cas_commit_msg ( struct client *pClient, ca_uint32_t size ) if ( pMsg->m_postsize == htons ( 0xffff ) ) { ca_uint32_t * pLW = ( ca_uint32_t * ) ( pMsg + 1 ); assert ( size <= ntohl ( *pLW ) ); - if (size < SMALL_MESSAGE_THRESHOLD) { - /* If the message is sufficiently small it can be worth converting a - * large message header into a small header. This saves us all of 8 - * bytes over the wire, so it's not such a big deal. */ - pMsg->m_postsize = htons((ca_uint16_t) size); - pMsg->m_count = htons((ca_uint16_t) ntohl(pLW[1])); - memmove(pLW, pLW + 2, size); - size += sizeof(caHdr); - } - else { - pLW[0] = htonl ( size ); - size += sizeof ( caHdr ) + 2 * sizeof ( *pLW ); - } + pLW[0] = htonl ( size ); + size += sizeof ( caHdr ) + 2 * sizeof ( *pLW ); } else { assert ( size <= ntohs ( pMsg->m_postsize ) );