X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rset%2Frstemp.c;h=0c5ca0bebbfc7e50a67b835ba0cbce30d2987ed2;hb=0ef68e6e54cfd7a91a28ee3b1f305924ac34e787;hp=709dd99f8e052810ee606b1b0ba499329a9c9669;hpb=0f78f3fe78e859d9f0d3f0d3e13fcd28085dd427;p=idzebra-moved-to-github.git diff --git a/rset/rstemp.c b/rset/rstemp.c index 709dd99..0c5ca0b 100644 --- a/rset/rstemp.c +++ b/rset/rstemp.c @@ -1,8 +1,5 @@ -/* $Id: rstemp.c,v 1.69 2006-11-14 08:12:09 adam Exp $ - Copyright (C) 1995-2006 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 1995-2008 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -168,13 +165,18 @@ static void r_flush(RSFD rfd, int mk) { #if HAVE_MKSTEMP char template[1024]; + + *template = '\0'; + if (info->temp_path) - sprintf(template, "%s/zrsXXXXXX", info->temp_path); - else - sprintf(template, "zrsXXXXXX"); + sprintf(template, "%s/", info->temp_path); + strcat(template, "zrs_"); +#if HAVE_UNISTD_H + sprintf(template + strlen(template), "%ld_", (long) getpid()); +#endif + strcat(template, "XXXXXX"); info->fd = mkstemp(template); - if (info->fd == -1) { yaz_log(YLOG_FATAL|YLOG_ERRNO, "rstemp: mkstemp %s", template);