diff options
author | Pawel Pekala <pawel@FreeBSD.org> | 2012-05-16 22:11:56 +0000 |
---|---|---|
committer | Pawel Pekala <pawel@FreeBSD.org> | 2012-05-16 22:11:56 +0000 |
commit | 07f55e998c7282bb6bf919cf2b5d68298c9390f6 (patch) | |
tree | d201b07030cbbcdfae0b5ee6509d95c779fe1070 /lang/urweb | |
parent | ab3da0c11360b96960b11136e604b8807d724d77 (diff) | |
download | ports-07f55e998c7282bb6bf919cf2b5d68298c9390f6.tar.gz ports-07f55e998c7282bb6bf919cf2b5d68298c9390f6.zip |
Notes
Diffstat (limited to 'lang/urweb')
-rw-r--r-- | lang/urweb/Makefile | 3 | ||||
-rw-r--r-- | lang/urweb/distinfo | 4 | ||||
-rw-r--r-- | lang/urweb/files/patch-urweb.c | 54 |
3 files changed, 3 insertions, 58 deletions
diff --git a/lang/urweb/Makefile b/lang/urweb/Makefile index 87263ce07296..7947c711d8ec 100644 --- a/lang/urweb/Makefile +++ b/lang/urweb/Makefile @@ -5,8 +5,7 @@ # $FreeBSD$ PORTNAME= urweb -PORTVERSION= 20120329 -PORTREVISION= 1 +PORTVERSION= 20120512 CATEGORIES= lang www MASTER_SITES= http://www.impredicative.com/ur/ EXTRACT_SUFX= .tgz diff --git a/lang/urweb/distinfo b/lang/urweb/distinfo index 6db6b7e19903..9c43fde6b255 100644 --- a/lang/urweb/distinfo +++ b/lang/urweb/distinfo @@ -1,2 +1,2 @@ -SHA256 (urweb-20120329.tgz) = 9f6866bc5663f173157ae6e822bde728581ebdbd2aeb3bb3a1ecf0c0964e691f -SIZE (urweb-20120329.tgz) = 828756 +SHA256 (urweb-20120512.tgz) = 35a8e7481caa74fc224f556807844899043b3af2c8bae085b9204275318e9d25 +SIZE (urweb-20120512.tgz) = 838543 diff --git a/lang/urweb/files/patch-urweb.c b/lang/urweb/files/patch-urweb.c deleted file mode 100644 index 83482c9aaa59..000000000000 --- a/lang/urweb/files/patch-urweb.c +++ /dev/null @@ -1,54 +0,0 @@ ---- src/c/urweb.c.orig Thu Mar 29 11:23:35 2012 -0400 -+++ src/c/urweb.c Sun Apr 08 13:47:57 2012 -0700 -@@ -159,13 +159,7 @@ - static client **clients, *clients_free, *clients_used; - static unsigned n_clients; - --static pthread_mutex_t clients_mutex = -- #ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER -- PTHREAD_RECURSIVE_MUTEX_INITIALIZER -- #else -- PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP -- #endif -- ; -+static pthread_mutex_t clients_mutex = PTHREAD_MUTEX_INITIALIZER; - size_t uw_messages_max = SIZE_MAX; - size_t uw_clients_max = SIZE_MAX; - -@@ -230,20 +224,23 @@ - } - - static const char begin_msgs[] = "Content-type: text/plain\r\n\r\n"; -+static pthread_t pruning_thread; -+static int pruning_thread_initialized = 0; - - static client *find_client(unsigned id) { - client *c; -- -- pthread_mutex_lock(&clients_mutex); -+ int i_am_pruner = pruning_thread_initialized && pthread_equal(pruning_thread, pthread_self()); -+ -+ if (!i_am_pruner) pthread_mutex_lock(&clients_mutex); - - if (id >= n_clients) { -- pthread_mutex_unlock(&clients_mutex); -+ if (!i_am_pruner) pthread_mutex_unlock(&clients_mutex); - return NULL; - } - - c = clients[id]; - -- pthread_mutex_unlock(&clients_mutex); -+ if (!i_am_pruner) pthread_mutex_unlock(&clients_mutex); - return c; - } - -@@ -3291,6 +3288,8 @@ - cutoff = time(NULL) - ctx->app->timeout; - - pthread_mutex_lock(&clients_mutex); -+ pruning_thread = pthread_self(); -+ pruning_thread_initialized = 1; - - for (c = clients_used; c; c = next) { - next = c->next; |