hue@netcom.UUCP (Jonathan Hue) (03/04/90)
Has anyone else had problems with open using the O_EXCL flag with Lattice
C? I've had problems with 5.04A and 5.05. The following program causes
a "Software Error, Task Held". It runs fine on UNIX boxes and does the
right thing. Am I doing something incredibly stupid that I can't see?
----------------------save this as opentest.c----------------------
#include <fcntl.h>
#include <stdio.h>
main()
{
int fd;
switch(fd = open("opentest", O_WRONLY | O_CREAT | O_EXCL, 0777))
{
case -1:
fprintf(stderr, "open failed, test passed\n");
break;
default:
fprintf(stderr, "open succeeded, test failed\n");
break;
}
}
-Jonathanlouie@sayshell.umd.edu (Louis A. Mamakos) (03/05/90)
I've also experience the O_EXCL problem with Lattice 5.04 and 5.04a. I get a GURU when doing the open when the file already exists: if((fd = open(lockname, O_WRONLY|O_EXCL|O_CREAT,0600)) == -1) return -1; This is a pretty annoying problem. I haven't check 5.05 yet, but I don't think that any of the library routines involved were updated.