@ -187,6 +187,7 @@ Packet *PacketPoolGetPacket(void)
Packet * p = pool - > head ;
Packet * p = pool - > head ;
pool - > head = p - > next ;
pool - > head = p - > next ;
p - > pool = pool ;
p - > pool = pool ;
PACKET_REINIT ( p ) ;
return p ;
return p ;
}
}
@ -202,6 +203,7 @@ Packet *PacketPoolGetPacket(void)
Packet * p = pool - > head ;
Packet * p = pool - > head ;
pool - > head = p - > next ;
pool - > head = p - > next ;
p - > pool = pool ;
p - > pool = pool ;
PACKET_REINIT ( p ) ;
return p ;
return p ;
}
}
@ -217,14 +219,14 @@ void PacketPoolReturnPacket(Packet *p)
{
{
PktPool * my_pool = GetThreadPacketPool ( ) ;
PktPool * my_pool = GetThreadPacketPool ( ) ;
PACKET_RELEASE_REFS ( p ) ;
PktPool * pool = p - > pool ;
PktPool * pool = p - > pool ;
if ( pool = = NULL ) {
if ( pool = = NULL ) {
free ( p ) ;
free ( p ) ;
return ;
return ;
}
}
PACKET_RECYCLE ( p ) ;
if ( pool = = my_pool ) {
if ( pool = = my_pool ) {
/* Push back onto this thread's own stack, so no locking. */
/* Push back onto this thread's own stack, so no locking. */
p - > next = my_pool - > head ;
p - > next = my_pool - > head ;