diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-11-26 21:00:45 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-11-26 21:00:45 +0100 |
commit | 9e419ee8f47028e8f58c456b6456c348f7f0bcfa (patch) | |
tree | 7b083214b5fe9341332e409e83ec5fac244a8ced /libports/port-deref-deferred.c | |
parent | 39a3718b4e5f9c3d2977dc89a8792fd8b6b8e572 (diff) | |
download | hurd-9e419ee8f47028e8f58c456b6456c348f7f0bcfa.tar.gz hurd-9e419ee8f47028e8f58c456b6456c348f7f0bcfa.tar.bz2 hurd-9e419ee8f47028e8f58c456b6456c348f7f0bcfa.zip |
libports: Add more assertion
flip_generations needs to make sure it is not throwing away a list of
objects to be released.
Diffstat (limited to 'libports/port-deref-deferred.c')
-rw-r--r-- | libports/port-deref-deferred.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libports/port-deref-deferred.c b/libports/port-deref-deferred.c index 76373ebb..c33430c1 100644 --- a/libports/port-deref-deferred.c +++ b/libports/port-deref-deferred.c @@ -61,6 +61,7 @@ static inline void flip_generations (struct ports_threadpool *pool) { assert_backtrace (pool->old_threads == 0); + assert_backtrace (pool->old_objects == NULL); pool->old_threads = pool->young_threads; pool->old_objects = pool->young_objects; pool->young_threads = 0; @@ -103,6 +104,7 @@ _ports_thread_quiescent (struct ports_threadpool *pool, if (pool->old_threads == 0) { free_list = pool->old_objects; + pool->old_objects = NULL; flip_generations (pool); } } |