This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: RCS-5.7


On Sun, Sep 30, 2001 at 12:04:14PM -0400, Jason Tishler wrote:
> The following may be of interest too:
> 
>     http://sources.redhat.com/ml/cygwin/2001-07/msg00161.html

I finally got around to considering the inclusion the above patch into
my RCS build:

    http://sources.redhat.com/ml/cygwin/2000-10/msg00545.html

However, it appears that my build does not trigger the truncation bug
mentioned above.

Furthermore, I just tried Rod Whitby's patch:

    http://sources.redhat.com/ml/cygwin/2001-01/msg01038.html

and his build does not trigger the bug either.

Does anyone know whether or not this patch is really needed with the
latest Cygwin?

BTW, see attached for a further reduced version of Rod Whitby's patch
that builds and passes all regression tests under the latest Cygwin.
Note that the Cygwin specific patch is only about 1K in size now.

To be precise, "latest Cygwin" above means a Cygwin DLL built from CVS
by me shortly after the 1.3.3 release with ntsec enabled.

Jason
diff -rup rcs-5.7.orig/src/conf.sh rcs-5.7/src/conf.sh
--- rcs-5.7.orig/src/conf.sh	Fri Jun 16 02:19:24 1995
+++ rcs-5.7/src/conf.sh	Sun Sep 30 21:40:31 2001
@@ -1025,6 +1025,10 @@ case `(uname -s -r -v) 2>/dev/null` in
 	# Early editions of SunOS 5.4 are reported to have problems with mmap
 	# that generate NUL bytes in RCS files with a Solaris 2.2 NFS server.
 	# This has been reported to be fixed as of patch 101945-10.
+'CYGWIN'*)
+	# GNU win32 does not permit mmapped file to be opened (returns with
+	# "not owner").  So which is signal rcs gets is immaterial.
+	has_map_fd=0 has_mmap=1 has_madvise=0 mmap_signal=SIGBUS ;;
 *)
 	$PREPARE_CC || exit
 	if ($CL -DTRY_MAP_FD=1 a.c $L && $aout <a.c) >&2
diff -rup rcs-5.7.orig/src/rcslex.c rcs-5.7/src/rcslex.c
--- rcs-5.7.orig/src/rcslex.c	Fri Jun 16 02:19:24 1995
+++ rcs-5.7/src/rcslex.c	Sun Sep 30 21:41:49 2001
@@ -1113,7 +1113,7 @@ Iopen(name, type, status)
 /* Open NAME for reading, yield its descriptor, and set *STATUS.  */
 {
 	int fd = fdSafer(open(name, O_RDONLY
-#		if OPEN_O_BINARY
+#		if OPEN_O_BINARY && !(large_memory && maps_memory)
 			|  (strchr(type,'b') ? OPEN_O_BINARY : 0)
 #		endif
 	));

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]