|
@@ -241,9 +241,13 @@ static void *fastwriter_writer_thread(void *user) {
|
|
|
int fastwriter_push(fastwriter_t *ctx, size_t size, const void *data) {
|
|
|
size_t part1, end;
|
|
|
size_t free = fastwriter_compute_free_space(ctx);
|
|
|
-
|
|
|
+
|
|
|
if (free < size) {
|
|
|
ctx->max_usage = ctx->size;
|
|
|
+
|
|
|
+ if (size > ctx->size) {
|
|
|
+ return EOVERFLOW;
|
|
|
+ }
|
|
|
|
|
|
if ((ctx->flags&FASTWRITER_FLAGS_BLOCK)==0)
|
|
|
return EWOULDBLOCK;
|