Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Dec 2013 11:42:04 +0000 (UTC)
From:      William Grzybowski <wg@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r337482 - in head/net/minidlna: . files
Message-ID:  <201312261142.rBQBg4uq047394@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: wg
Date: Thu Dec 26 11:42:03 2013
New Revision: 337482
URL: http://svnweb.freebsd.org/changeset/ports/337482

Log:
  net/minidlna: fix for kqueue crashes on large media collections
  
  - Fix for kqueue crashes on large media collections [1]
  - Make kqueue patch as an option so it can be disabled
  
  PR:		ports/185155 [1]
  Submitted by:	se

Added:
  head/net/minidlna/files/extra-patch-kqueue
     - copied, changed from r337165, head/net/minidlna/files/patch-kqueue
Deleted:
  head/net/minidlna/files/patch-kqueue
Modified:
  head/net/minidlna/Makefile

Modified: head/net/minidlna/Makefile
==============================================================================
--- head/net/minidlna/Makefile	Thu Dec 26 10:41:43 2013	(r337481)
+++ head/net/minidlna/Makefile	Thu Dec 26 11:42:03 2013	(r337482)
@@ -3,7 +3,7 @@
 
 PORTNAME=	minidlna
 PORTVERSION=	1.1.1
-PORTREVISION=	3
+PORTREVISION=	4
 PORTEPOCH=	1
 CATEGORIES=	net multimedia www
 MASTER_SITES=	SF
@@ -37,11 +37,19 @@ SUB_LIST+=	USER=${USERS}
 USERS=	dlna
 GROUPS=	dlna
 
-OPTIONS_DEFINE=	NLS
+OPTIONS_DEFINE=	KQUEUE NLS
+OPTIONS_DEFAULT=KQUEUE
 OPTIONS_SUB=	yes
 
+KQUEUE_DESC=	Experimental patch for automatic rescan using kqueue(2)
 NLS_USES=	gettext
 
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MKQUEUE}
+EXTRA_PATCHES+=	${PATCHDIR}/extra-patch-kqueue
+.endif
+
 post-install:
 	${INSTALL_MAN} ${WRKSRC}/*.5 ${STAGEDIR}${MANPREFIX}/man/man5/
 	${INSTALL_MAN} ${WRKSRC}/*.8 ${STAGEDIR}${MANPREFIX}/man/man8/

Copied and modified: head/net/minidlna/files/extra-patch-kqueue (from r337165, head/net/minidlna/files/patch-kqueue)
==============================================================================
--- head/net/minidlna/files/patch-kqueue	Sat Dec 21 21:36:12 2013	(r337165, copy source)
+++ head/net/minidlna/files/extra-patch-kqueue	Thu Dec 26 11:42:03 2013	(r337482)
@@ -750,6 +750,14 @@
  	else
 --- ./minidlna.c.orig	2013-11-02 05:06:41.000000000 +0400
 +++ ./minidlna.c	2013-11-13 17:25:27.000000000 +0400
+@@ -46,6 +46,7 @@
+  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
++#define FD_SETSIZE 8192
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
 @@ -365,6 +365,7 @@
  		open_db(&db);
  		if (*scanner_pid == 0) /* child (scanner) process */
@@ -793,3 +801,16 @@
  	return (ret != SQLITE_OK);
  }
  
+--- upnpevents.c~	2013-11-02 02:06:41.000000000 +0100
++++ upnpevents.c	2013-12-24 12:22:41.533935174 +0100
+@@ -416,6 +416,10 @@
+ {
+ 	struct upnp_event_notify * obj;
+ 	for(obj = notifylist.lh_first; obj != NULL; obj = obj->entries.le_next) {
++		if (obj->s > FD_SETSIZE)
++			DPRINTF(E_FATAL, L_HTTP,
++			    "upnpevents_selectfds: file descriptor %d too big for select, limit is %d\n", 
++			    obj->s, FD_SETSIZE);
+ 		DPRINTF(E_DEBUG, L_HTTP, "upnpevents_selectfds: %p %d %d\n",
+ 		       obj, obj->state, obj->s);
+ 		if(obj->s >= 0) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312261142.rBQBg4uq047394>