Fix to comm buffer leak for upstream-going messages
Joel Welling <[email protected]> Sat, 06 Nov 2004 23:54:11 -0500
| Newsgroups | gmane.comp.graphics.chromium.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi folks; It looks to me like every time a CR_MESSAGE_READ_PIXELS, WRITEBACK, or READBACK is sent upstream the communications buffer is never freed. I have a patch to packspu_net.c, replicatespu_net.c, tilesortspu_net.c, and net.c where crNetFree(conn,buf); is added after the appropriate bit of the case statements. For example, in packspu_net.c the code becomes: case CR_MESSAGE_READ_PIXELS: packspuReadPixels( &(msg->readPixels), len ); crNetFree(conn,buf); break; case CR_MESSAGE_WRITEBACK: packspuWriteback( &(msg->writeback) ); crNetFree(conn,buf); break; case CR_MESSAGE_READBACK: packspuReadback( &(msg->readback), len ); crNetFree(conn,buf); break; default: /*crWarning( "Why is the pack SPU getting a message of type 0x%x?", msg-> type ); */ Before I check this in, can someone who knows the network layer look at this and verify that I'm talking sense? I know this fix allows my application to run on Quadrics without running out of Quadrics card memory. Thanks, -Joel [email protected] ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click