Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


a problem of openh323 on multi-processor

jim zhang
  • jim zhang
    jim zhang

    when i use openh323 to decode h323 packet, if i run all decode threads on the first processor, it's ok for run a week long. but if it use SetThreadAffinityMask to put each decode thread on different processor, it break after several minute with reporter "access violation(0x0000005), ". and the break point is in ptlib.dll each time.

    BOOL PAbstractArray::SetSize(PINDEX newSize)
    PINDEX newsizebytes = elementSize*newSize;
    PINDEX oldsizebytes = elementSize*GetSize();

    char * newArray;

    if (!IsUnique()) {

    if (newsizebytes == 0)
    newArray = NULL;
    else {
    if ((newArray = (char *)malloc(newsizebytes)) == NULL)
    return FALSE;

    if (theArray != NULL)
    memcpy(newArray, theArray, PMIN(oldsizebytes, newsizebytes));// break at this point

    here is my code :
    ProcessH225Data( UCHAR *pData, int size)
    PPER_Stream strm( pData, size );
    H225_H323_UserInformation m_h225; // break at this point

    BOOL ret = m_h225.Decode( strm );

    dose any body encounter this problem, and how to fix it?