Subject: Patches for Elm 2.4 pl24 (was: Problem with elm and locking)
To: Quetzalcoatl Bradley <qbradley@sol.uvic.ca>
From: Bernd Ernesti <erbe0011@FH-Karlsruhe.DE>
List: amiga
Date: 09/29/1994 17:13:16
Quetzalcoatl Bradley writes:

>On Thu, 29 Sep 1994, Bernd Ernesti wrote:
>
>> Right :)
>> 
>> Many thanks to all who give this hint (Chris, Joern, Ron).
>> 
>> I thought about that this could cause this problem, but never believe
>> that this is really the problem.
>> 
>> Now it works.
>
>Excellent!
>
>Could you tell me what combinations of locking options you used in 
>config?  Maybe posting it to the list would be a good idea as well, 

I used the first 2 and not the third locking options: Not use the fcntl.

And here is a patch for Elm 2.4 pl24 to make it:

diff -c Configure-orig Configure
*** Configure-orig	Mon May 30 16:55:55 1994
--- Configure	Thu Sep 29 12:57:05 1994
***************
*** 2465,2470 ****
--- 2465,2472 ----
      lock_dir=/usr/spool/uucp
  elif $test -d /var/spool/locks ; then
      lock_dir=/var/spool/locks
+ elif $test -d /var/spool/lock ; then
+     lock_dir=/var/spool/lock
  elif $test -d /var/spool/uucp ; then
      lock_dir=/var/spool/uucp
  else
diff -c hdrs/defs.h-orig hdrs/defs.h
*** hdrs/defs.h-orig	Thu Sep  1 19:42:39 1994
--- hdrs/defs.h	Wed Sep 28 20:47:56 1994
***************
*** 680,686 ****
  #endif /* SIGSET */
  #endif /* POSIX_SIGNALS */
  
! #if defined(POSIX_SIGNALS) && !defined(__386BSD__)
  # define JMP_BUF		sigjmp_buf
  # define SETJMP(env)		sigsetjmp((env), 1)
  # define LONGJMP(env,val)	siglongjmp((env), (val))
--- 680,686 ----
  #endif /* SIGSET */
  #endif /* POSIX_SIGNALS */
  
! #if defined(POSIX_SIGNALS) && !defined(__386BSD__) && !defined(__NetBSD__)
  # define JMP_BUF		sigjmp_buf
  # define SETJMP(env)		sigsetjmp((env), 1)
  # define LONGJMP(env,val)	siglongjmp((env), (val))
diff -c utils/newmail.c-orig utils/newmail.c
*** utils/newmail.c-orig	Mon May 30 16:32:01 1994
--- utils/newmail.c	Tue Sep 27 23:13:24 1994
***************
*** 246,252 ****
  
  extern int errno;
  
! #if defined(BSD) && !defined(__convex__)
          time_t utime_buffer[2];         /* utime command */
  #else
          struct utimbuf utime_buffer;    /* utime command */
--- 246,252 ----
  
  extern int errno;
  
! #if defined(BSD) && !defined(__convex__) && !defined(__NetBSD__)
          time_t utime_buffer[2];         /* utime command */
  #else
          struct utimbuf utime_buffer;    /* utime command */
***************
*** 472,478 ****
  	      /* try to set the file access times back, ignore
  		 failures */
  
! #if defined(BSD) && !defined(__convex__)
  	      utime(cur_folder->foldername, utime_buffer);
  #else
                utime(cur_folder->foldername, &utime_buffer);
--- 472,478 ----
  	      /* try to set the file access times back, ignore
  		 failures */
  
! #if defined(BSD) && !defined(__convex__) && !defined(__NetBSD__)
  	      utime(cur_folder->foldername, utime_buffer);
  #else
                utime(cur_folder->foldername, &utime_buffer);
***************
*** 857,863 ****
  	
  	/* retain the access times for later use */
  
! #if defined(BSD) && !defined(__convex__)
          utime_buffer[0]     = buffer.st_atime;
          utime_buffer[1]     = buffer.st_mtime;
  #else
--- 857,863 ----
  	
  	/* retain the access times for later use */
  
! #if defined(BSD) && !defined(__convex__) && !defined(__NetBSD__)
          utime_buffer[0]     = buffer.st_atime;
          utime_buffer[1]     = buffer.st_mtime;
  #else
-----------------------

Bernd