On Mon, Dec 03, 2001 at 02:59:31PM -0500, David T-G wrote:
> ...and then Paul Brannan said...
> % This solves #2, but not #1 :(
> 
> Interesting.  What does
> 
>   mutt -v
> 
> show you?  Do you have dotlocking available?  It looks to me as though
> mutt can only use fcntl locks but they are not supported on your system;
> mutt is usually pretty good at figuring out how it should lock.

The relevant portion of mutt -v indicates:
  -HOMESPOOL  +USE_SETGID  +USE_DOTLOCK  +USE_FCNTL  -USE_FLOCK

I tried using mutt_dotlock on a test file in my home directory (as
suggested in the other thread), and it successfully created
testfile.lock; mutt_dotlock -u testfile successfully removed the file as
well.

I've never used fcntl before, but a simple test application yields:
  fcntl: No locks available

The program looks like this:
  int main() {
    int fd = open("foo", O_CREAT | O_TRUNC | O_WRONLY);
    struct flock l;
    l.l_type = F_WRLCK; l.l_whence = 0; l.l_start = 0;
    l.l_len = 0; l.l_pid = getpid();
    if(fcntl(fd, F_SETLKW, &l) == -1) { perror("fcntl wr"); exit(1); }
    return 0;
  }

This same program works in /tmp (which is non-nfs; the first run the
program produces no output, and the second run the call to open()
fails).

Perhaps this is a problem of the client being able to lock over nfs but
the server not?

> If you want the messages to be deleted when you sync, set it to "yes" in
> your macro; if not, leave it at "no" and forget about the macro.  If you
> want to be asked then just set it to ask-no and forget about the macro,
> and when you usually don't want to delete (like when you change folders,
> IIRC) just hit return twice (once when you find and choose your mailbox
> and once to take the default "no").

That seems like such a hack, and is awfully inconvenient.  How do most
other mutt users handle deleting and purging messages?  Does anyone else
actually use delete=no?

Paul

Reply via email to