Skip site navigation (1)Skip section navigation (2)
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>