> Am 29.09.2015 um 16:08 schrieb Gerd Hoffmann <kra...@redhat.com>: > > Hi, > >> what about Recycling the output buffer as worker thread buffer? > > You can't do that as vs is allocated on the stack, therefore not valid > any more when vnc_worker_thread_loop returns.
why not? buffer_move_free only moves the heap allocated buffer allocation not the Buffer structure itself. > > >> about shrinking: I had the idea to count the number of times the buffer was >> (significantly) too big and only shrink if that counter has reached a >> reasonable value. and reset that counter to zero if the buffer has the right >> size. >> >> i would check this in qio_buffer_resize. as you suggested earlier. > > Not sure whenever it is a good idea to do that on every reserve call. > Maybe better place shrink calls in places where you know it is worth > checking, to have lower overhead. > > Patches are welcome in any case ;) > will have a look. Peter