Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Mar 2019 17:12:16 +0000 (UTC)
From:      Craig Leres <leres@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r496474 - in head/editors/nvi-devel: . files
Message-ID:  <201903211712.x2LHCGkn080929@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: leres
Date: Thu Mar 21 17:12:16 2019
New Revision: 496474
URL: https://svnweb.freebsd.org/changeset/ports/496474

Log:
  Unlike the base vi (nvi 2.1.3), nvi-devel calls flock() on a writable
  file descriptor. This has the unfortunately side effect of causing
  the "Text file busy" error when you edit a script in one window and
  try to run it in another.
  
  The fix is to change the initial open() just prior to calling
  file_lock() in file_init() to use O_RDONLY instead of O_RDWR. This
  does not impact nvi's ability to write files, nvi creates a new
  file when writing.
  
  PR:		235445
  Approved by:	johans (maintainer timeout, 6 weeks), ler (mentor, implicit)

Added:
  head/editors/nvi-devel/files/patch-common_exf.c   (contents, props changed)
Modified:
  head/editors/nvi-devel/Makefile

Modified: head/editors/nvi-devel/Makefile
==============================================================================
--- head/editors/nvi-devel/Makefile	Thu Mar 21 16:44:35 2019	(r496473)
+++ head/editors/nvi-devel/Makefile	Thu Mar 21 17:12:16 2019	(r496474)
@@ -3,7 +3,7 @@
 
 PORTNAME=	nvi
 PORTVERSION=	1.81.6
-PORTREVISION=	10
+PORTREVISION=	11
 CATEGORIES=	editors
 MASTER_SITES=	ftp://ftp.stack.nl/pub/users/johans/nvi/
 

Added: head/editors/nvi-devel/files/patch-common_exf.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/editors/nvi-devel/files/patch-common_exf.c	Thu Mar 21 17:12:16 2019	(r496474)
@@ -0,0 +1,11 @@
+--- ../common/exf.c.orig	2007-11-18 16:41:42 UTC
++++ ../common/exf.c
+@@ -392,7 +392,7 @@ postinit:
+ 	 * an error.
+ 	 */
+ 	if (rcv_name == NULL && ep->refcnt == 0) {
+-		if ((ep->fd = open(oname, O_RDWR)) == -1)
++		if ((ep->fd = open(oname, O_RDONLY)) == -1)
+ 		    goto no_lock;
+ 
+ 		switch (file_lock(sp, oname, &ep->fcntl_fd, ep->fd, 1)) {



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