better stop on sinkdisc fail
we were not always setting stop on allocate fail, could deadlock if (for example) flush failed
This commit is contained in:
parent
d51911cda8
commit
45b6345e7f
@ -334,8 +334,10 @@ wbuffer_allocate_fn( VipsThreadState *state, void *a, gboolean *stop )
|
||||
/* Block until the write of the previous buffer
|
||||
* is done, then set write of this buffer going.
|
||||
*/
|
||||
if( wbuffer_flush( write ) )
|
||||
if( wbuffer_flush( write ) ) {
|
||||
*stop = TRUE;
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
/* End of image?
|
||||
*/
|
||||
@ -359,10 +361,12 @@ wbuffer_allocate_fn( VipsThreadState *state, void *a, gboolean *stop )
|
||||
/* Position buf at the new y.
|
||||
*/
|
||||
if( wbuffer_position( write->buf,
|
||||
sink_base->y, sink_base->nlines ) )
|
||||
sink_base->y, sink_base->nlines ) ) {
|
||||
*stop = TRUE;
|
||||
return( -1 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* x, y and buf are good: save params for thread.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user