oops
This commit is contained in:
parent
ded6f17fa8
commit
6d1d6fd16c
69
TODO
69
TODO
@ -1,72 +1,3 @@
|
||||
- getpoint() doesn't use a worker, it just calls vips_region_prepare()
|
||||
directly
|
||||
|
||||
we should crop to a mem buffer instead
|
||||
|
||||
- rework buffer.c, it's getting ugly
|
||||
|
||||
how about getting rid of buffercache for non-worker threads, it won't be
|
||||
very useful
|
||||
|
||||
instead, global buffers have no buffercache and their lifetime is just
|
||||
managed by the regions they are on
|
||||
|
||||
no reserve list, just discard them on unref
|
||||
|
||||
shouldwe use atomic stuff for the buffer ref count?
|
||||
|
||||
buffer_dump has:
|
||||
|
||||
if( buffer->im &&
|
||||
buffer->buf &&
|
||||
buffer->cache ) {
|
||||
printf( "buffer %p, %.3g MB\n",
|
||||
buffer, buffer->bsize / (1024 * 1024.0) );
|
||||
*alive += buffer->bsize;
|
||||
}
|
||||
else if( buffer->im &&
|
||||
buffer->buf &&
|
||||
!buffer->cache )
|
||||
*reserve += buffer->bsize;
|
||||
else
|
||||
printf( "buffer craziness!\n" );
|
||||
|
||||
is this right?
|
||||
|
||||
I think we now have three states:
|
||||
|
||||
global buffer (not on any cache, undone)
|
||||
|
||||
buffer->ref_count >= 1
|
||||
buffer->im
|
||||
buffer->buf
|
||||
!buffer->cache
|
||||
!buffer->done (since all done buffers must be on a cache buffers list)
|
||||
|
||||
buffer published on a cache (done)
|
||||
|
||||
buffer->ref_count >= 1
|
||||
buffer->im
|
||||
buffer->buf
|
||||
buffer->cache
|
||||
buffer->done
|
||||
|
||||
buffer held in reserve on a thread, ready for reuse
|
||||
|
||||
buffer->ref_count == 0
|
||||
buffer->im
|
||||
buffer->buf
|
||||
buffer->cache
|
||||
!buffer->done
|
||||
|
||||
vips_buffer_done() on a global buffer takes ownership and publishes to this
|
||||
thread's public list
|
||||
|
||||
what if ref_count > 1? is this possible?
|
||||
|
||||
vips_buffer_undone() relinquishes ownership and makes it global
|
||||
|
||||
|
||||
- not sure about utf8 error messages on win
|
||||
|
||||
- strange:
|
||||
|
Loading…
Reference in New Issue
Block a user