dsuarezv / mavlink.net

A better MavLink object generation for C#. Richer message classes are generated from the object definitions.
39 stars 35 forks source link

Memory leak in class BlockingCircularStream #26

Open MartinStokelj opened 4 years ago

MartinStokelj commented 4 years ago

I use create and dispose mavlink every 15 seconds if there is no connection to drone. I think that there is memory leak in class BlockingCircularStream with the mBuffer since he do not get disposed.

public MavLinkAsyncWalker()
{
    mProcessStream = new BlockingCircularStream(DefaultCircularBufferSize);

    ThreadPool.QueueUserWorkItem(new WaitCallback(PacketProcessingWorker));
}

public class BlockingCircularStream : Stream
{
    private byte[] mBuffer;

    public BlockingCircularStream(int bufferCapacity)
    {
        mCapacity = bufferCapacity;
        mBuffer = new byte[bufferCapacity];
    }
}