summaryrefslogtreecommitdiff
path: root/debian/patches/0004-renamed-stuff.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0004-renamed-stuff.patch')
-rw-r--r--debian/patches/0004-renamed-stuff.patch280
1 files changed, 0 insertions, 280 deletions
diff --git a/debian/patches/0004-renamed-stuff.patch b/debian/patches/0004-renamed-stuff.patch
deleted file mode 100644
index e74633ed..00000000
--- a/debian/patches/0004-renamed-stuff.patch
+++ /dev/null
@@ -1,280 +0,0 @@
-From f18e34a4a6cd93bad8af6e720f52c71b020c3f69 Mon Sep 17 00:00:00 2001
-From: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Sat, 4 Apr 2015 13:57:30 +0200
-Subject: [PATCH hurd 4/4] renamed stuff
-
----
- libports/create-bucket.c | 2 +-
- libports/port-deref-deferred.c | 139 ++++++++++++++++++++++-------------------
- libports/port-deref-deferred.h | 16 ++---
- libports/ports.h | 2 +-
- 4 files changed, 82 insertions(+), 77 deletions(-)
-
-diff --git a/libports/create-bucket.c b/libports/create-bucket.c
-index 32b2b76..82c00a4 100644
---- a/libports/create-bucket.c
-+++ b/libports/create-bucket.c
-@@ -48,6 +48,6 @@ ports_create_bucket ()
-
- hurd_ihash_init (&ret->htable, offsetof (struct port_info, hentry));
- ret->rpcs = ret->flags = ret->count = 0;
-- _ports_sync_init (&ret->sync);
-+ _ports_threadpool_init (&ret->threadpool);
- return ret;
- }
-diff --git a/libports/port-deref-deferred.c b/libports/port-deref-deferred.c
-index 27604c5..06b57f8 100644
---- a/libports/port-deref-deferred.c
-+++ b/libports/port-deref-deferred.c
-@@ -3,101 +3,112 @@
-
- #include <pthread.h>
-
--#define COLOR_VALID(X) ((X) == COLOR_BLACK || (X) == COLOR_WHITE)
-+/*
-+ * A threadpool has a color indicating which threads belong to the old
-+ * generation.
-+ */
-+#define COLOR_BLACK 0
-+#define COLOR_WHITE 1
-+#define COLOR_INVALID ~0U
-+
-+static inline int
-+valid_color (unsigned int c)
-+{
-+ return c == COLOR_BLACK || c == COLOR_WHITE;
-+}
-
--void
--_ports_sync_init (struct ports_sync *s)
-+static inline unsigned int
-+flip_color (unsigned int c)
- {
-- pthread_spin_init (&s->lock, PTHREAD_PROCESS_PRIVATE);
-- s->color = COLOR_BLACK;
-- s->old_threads = 0;
-- s->old_objects = NULL;
-- s->young_threads = 0;
-- s->young_objects = NULL;
-+ assert (valid_color (c));
-+ return ! c;
- }
-
--static inline enum def_color
--flip_color (enum def_color c)
-+void
-+_ports_threadpool_init (struct ports_threadpool *pool)
- {
-- switch (c)
-- {
-- case COLOR_BLACK:
-- return COLOR_WHITE;
-- case COLOR_WHITE:
-- return COLOR_BLACK;
-- default:
-- assert (! "invalid color");
-- }
-+ pthread_spin_init (&pool->lock, PTHREAD_PROCESS_PRIVATE);
-+ pool->color = COLOR_BLACK;
-+ pool->old_threads = 0;
-+ pool->old_objects = NULL;
-+ pool->young_threads = 0;
-+ pool->young_objects = NULL;
- }
-
- static inline void
--flip_generations (struct ports_sync *s)
-+flip_generations (struct ports_threadpool *pool)
- {
-- assert (s->old_threads == 0);
-- s->old_threads = s->young_threads;
-- s->old_objects = s->young_objects;
-- s->young_threads = 0;
-- s->young_objects = NULL;
-- s->color = flip_color (s->color);
-+ assert (pool->old_threads == 0);
-+ pool->old_threads = pool->young_threads;
-+ pool->old_objects = pool->young_objects;
-+ pool->young_threads = 0;
-+ pool->young_objects = NULL;
-+ pool->color = flip_color (pool->color);
- }
-
-+struct pi_list
-+{
-+ struct pi_list *next;
-+ struct port_info *pi;
-+};
-+
- void
- _ports_port_deref_deferred (struct port_info *pi)
- {
-- struct ports_sync *s = &pi->bucket->sync;
-+ struct ports_threadpool *pool = &pi->bucket->threadpool;
-
- struct pi_list *pl = malloc (sizeof *pl);
- if (pl == NULL)
- return;
- pl->pi = pi;
-
-- pthread_spin_lock (&s->lock);
-- pl->next = s->young_objects;
-- s->young_objects = pl;
-- if (s->old_threads == 0)
-+ pthread_spin_lock (&pool->lock);
-+ pl->next = pool->young_objects;
-+ pool->young_objects = pl;
-+ if (pool->old_threads == 0)
- {
-- assert (s->old_objects == NULL);
-- flip_generations (s);
-+ assert (pool->old_objects == NULL);
-+ flip_generations (pool);
- }
-- pthread_spin_unlock (&s->lock);
-+ pthread_spin_unlock (&pool->lock);
- }
-
- void
- _ports_thread_online (struct port_bucket *bucket,
-- struct ports_thread *t)
-+ struct ports_thread *thread)
- {
-- struct ports_sync *s = &bucket->sync;
-- pthread_spin_lock (&s->lock);
-- t->color = flip_color (s->color);
-- s->young_threads += 1;
-- pthread_spin_unlock (&s->lock);
-+ struct ports_threadpool *pool = &bucket->threadpool;
-+ pthread_spin_lock (&pool->lock);
-+ thread->color = flip_color (pool->color);
-+ pool->young_threads += 1;
-+ pthread_spin_unlock (&pool->lock);
- }
-
- void
- _ports_thread_quiescent (struct port_bucket *bucket,
-- struct ports_thread *t)
-+ struct ports_thread *thread)
- {
-- struct ports_sync *s = &bucket->sync;
-+ struct ports_threadpool *pool = &bucket->threadpool;
- struct pi_list *free_list = NULL, *p;
-- assert (COLOR_VALID (t->color));
-+ assert (valid_color (thread->color));
-
-- pthread_spin_lock (&s->lock);
-- if (t->color == s->color)
-+ pthread_spin_lock (&pool->lock);
-+ if (thread->color == pool->color)
- {
-- s->old_threads -= 1;
-- s->young_threads += 1;
-- t->color = flip_color (t->color);
-+ pool->old_threads -= 1;
-+ pool->young_threads += 1;
-+ thread->color = flip_color (thread->color);
-
-- if (s->old_threads == 0)
-+ if (pool->old_threads == 0)
- {
-- free_list = s->old_objects;
-- flip_generations (s);
-+ free_list = pool->old_objects;
-+ flip_generations (pool);
- }
- }
-- pthread_spin_unlock (&s->lock);
-+ pthread_spin_unlock (&pool->lock);
-
- if (free_list)
-- error (0, 0, "dereferencing %p, my color is %d", free_list, t->color);
-+ error (0, 0, "dereferencing %p, my color is %d", free_list, thread->color);
-
- for (p = free_list; p;)
- {
-@@ -111,19 +122,19 @@ _ports_thread_quiescent (struct port_bucket *bucket,
-
- void
- _ports_thread_offline (struct port_bucket *bucket,
-- struct ports_thread *t)
-+ struct ports_thread *thread)
- {
-- struct ports_sync *s = &bucket->sync;
-- assert (COLOR_VALID (t->color));
-+ struct ports_threadpool *pool = &bucket->threadpool;
-+ assert (valid_color (thread->color));
- retry:
-- pthread_spin_lock (&s->lock);
-- if (t->color == s->color)
-+ pthread_spin_lock (&pool->lock);
-+ if (thread->color == pool->color)
- {
-- pthread_spin_unlock (&s->lock);
-- _ports_thread_quiescent (bucket, t);
-+ pthread_spin_unlock (&pool->lock);
-+ _ports_thread_quiescent (bucket, thread);
- goto retry;
- }
-- t->color = COLOR_NONE;
-- s->young_threads -= 1;
-- pthread_spin_unlock (&s->lock);
-+ thread->color = COLOR_INVALID;
-+ pool->young_threads -= 1;
-+ pthread_spin_unlock (&pool->lock);
- }
-diff --git a/libports/port-deref-deferred.h b/libports/port-deref-deferred.h
-index 6586c81..6c208fd 100644
---- a/libports/port-deref-deferred.h
-+++ b/libports/port-deref-deferred.h
-@@ -1,19 +1,13 @@
- #ifndef _HURD_PORTS_DEREF_DEFERRED_
- #define _HURD_PORTS_DEREF_DEFERRED_
-
--enum def_color { COLOR_NONE, COLOR_BLACK, COLOR_WHITE };
-+struct pi_list;
-
--struct pi_list
--{
-- struct pi_list *next;
-- struct port_info *pi;
--};
--
--struct ports_sync
-+struct ports_threadpool
- {
- pthread_spinlock_t lock;
-
-- enum def_color color;
-+ unsigned int color;
-
- size_t old_threads;
- struct pi_list *old_objects;
-@@ -24,9 +18,9 @@ struct ports_sync
-
- struct ports_thread
- {
-- enum def_color color;
-+ unsigned int color;
- };
-
--void _ports_sync_init (struct ports_sync *s);
-+void _ports_threadpool_init (struct ports_threadpool *);
-
- #endif /* _HURD_PORTS_DEREF_DEFERRED_ */
-diff --git a/libports/ports.h b/libports/ports.h
-index c047a1a..dd396f2 100644
---- a/libports/ports.h
-+++ b/libports/ports.h
-@@ -75,7 +75,7 @@ struct port_bucket
- int rpcs;
- int flags;
- int count;
-- struct ports_sync sync;
-+ struct ports_threadpool threadpool;
- };
- /* FLAGS above are the following: */
- #define PORT_BUCKET_INHIBITED PORTS_INHIBITED
---
-2.1.4
-