Date: Wed, 16 May 2012 02:30:06 GMT From: Timothy Beyer <beyert@cs.ucr.edu> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/167944: update port: lang/urweb Message-ID: <201205160230.q4G2U6Rv005940@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/167944; it has been noted by GNATS. From: Timothy Beyer <beyert@cs.ucr.edu> To: bug-followup@FreeBSD.org Cc: Timothy Beyer <beyert@cs.ucr.edu> Subject: Re: ports/167944: update port: lang/urweb Date: Tue, 15 May 2012 19:26:56 -0700 The part of the patch that deals with the file files/patch-urweb.c is incorrectly specified as patch-urweb.c. Use this diff instead, which will patch properly from the port directory, with just that change. --- urweb.diff begins here --- Index: Makefile ================================================================== --- Makefile +++ Makefile @@ -3,12 +3,11 @@ # Whom: Timothy Beyer <beyert@cs.ucr.edu> # # $FreeBSD: ports/lang/urweb/Makefile,v 1.2 2012/04/09 11:54:04 scheidell Exp $ PORTNAME= urweb -PORTVERSION= 20120329 -PORTREVISION= 1 +PORTVERSION= 20120512 CATEGORIES= lang www MASTER_SITES= http://www.impredicative.com/ur/ EXTRACT_SUFX= .tgz MAINTAINER= beyert@cs.ucr.edu Index: distinfo ================================================================== --- distinfo +++ 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 DELETED files/patch-urweb.c Index: files/patch-urweb.c ================================================================== --- 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; --- urweb.diff ends here ---
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205160230.q4G2U6Rv005940>