diff --git a/src/jrd/gds.cpp b/src/jrd/gds.cpp index f11399452c..15ee8e88d3 100644 --- a/src/jrd/gds.cpp +++ b/src/jrd/gds.cpp @@ -2317,7 +2317,10 @@ void * API_ROUTINE gds__temp_file( #else if (mktemp(file_name) == (char *)0) return (void *)-1; - void *result = (void *)open(file_name, O_RDWR | O_CREAT); + void *result; + do { + result = (void *)open(file_name, O_RDWR | O_EXCL| O_CREAT); + } while (result == (void *)-1 && errno == EINTR); #endif if (result == (void *)-1) return result; diff --git a/src/jrd/sort.cpp b/src/jrd/sort.cpp index cfaff59910..3c84bf21c1 100644 --- a/src/jrd/sort.cpp +++ b/src/jrd/sort.cpp @@ -19,7 +19,7 @@ * * All Rights Reserved. * Contributor(s): ______________________________________. - * $Id: sort.cpp,v 1.36 2003-05-14 05:39:59 eku Exp $ + * $Id: sort.cpp,v 1.37 2003-05-14 12:32:02 eku Exp $ * * 2001-09-24 SJL - Temporary fix for large sort file bug * @@ -3023,7 +3023,7 @@ static void write_trace( * **************************************/ UCHAR file_name[32], data[41], *p; -#if defined FREEBSD || defined NETBSD +#ifdef HAVE_MKSTEMP int fd; #endif