diff options
| author | Jafar Al-Gharaibeh <Jafaral@users.noreply.github.com> | 2018-06-29 12:41:02 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-29 12:41:02 -0500 |
| commit | 20e5fd7ab52d37a0fade8dc6cd5b6070779a484d (patch) | |
| tree | 4f2d03607e80e303892ec6757b19679a43045dda /lib/stream.c | |
| parent | b46f306ed5b0f591d9081ec68e737538e4ce746e (diff) | |
| parent | 87270023ebb5d29f5ef7a583f919004ad2326560 (diff) | |
Merge pull request #2532 from donaldsharp/various_stuff
Redistribution and some extra developer debug code
Diffstat (limited to 'lib/stream.c')
| -rw-r--r-- | lib/stream.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/stream.c b/lib/stream.c index aba4c20166..a172eedc99 100644 --- a/lib/stream.c +++ b/lib/stream.c @@ -1109,6 +1109,10 @@ struct stream_fifo *stream_fifo_new(void) /* Add new stream to fifo. */ void stream_fifo_push(struct stream_fifo *fifo, struct stream *s) { +#if defined DEV_BUILD + size_t max, curmax; +#endif + if (fifo->tail) fifo->tail->next = s; else @@ -1116,8 +1120,15 @@ void stream_fifo_push(struct stream_fifo *fifo, struct stream *s) fifo->tail = s; fifo->tail->next = NULL; - +#if !defined DEV_BUILD atomic_fetch_add_explicit(&fifo->count, 1, memory_order_release); +#else + max = atomic_fetch_add_explicit(&fifo->count, 1, memory_order_release); + curmax = atomic_load_explicit(&fifo->max_count, memory_order_relaxed); + if (max > curmax) + atomic_store_explicit(&fifo->max_count, max, + memory_order_relaxed); +#endif } void stream_fifo_push_safe(struct stream_fifo *fifo, struct stream *s) |
