-/* $Id: zserver.c,v 1.109 2003-07-02 22:00:06 adam Exp $
+/* $Id: zserver.c,v 1.112 2003-11-09 11:48:16 oleg Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
Index Data Aps
if (selected)
zebra_record_encoding (zh, right_name);
q->charneg_response =
- yaz_set_response_charneg (q->stream, right_name,
+ yaz_set_response_charneg (q->stream, charsets[i],
0, selected);
break;
} else {
#else
if (!sob->inetd)
{
+ char pidfname[4096];
struct flock area;
- char *pidfile = "zebrasrv.pid";
- int fd = open (pidfile, O_EXCL|O_WRONLY|O_CREAT, 0666);
+ int fd;
+
+ zebra_pidfname(sob->handle, pidfname);
+
+ fd = open (pidfname, O_EXCL|O_WRONLY|O_CREAT, 0666);
if (fd == -1)
{
if (errno != EEXIST)
{
- yaz_log(LOG_FATAL|LOG_ERRNO, "lock file %s", pidfile);
+ yaz_log(LOG_FATAL|LOG_ERRNO, "lock file %s", pidfname);
exit(1);
}
- fd = open(pidfile, O_RDWR, 0666);
+ fd = open(pidfname, O_RDWR, 0666);
if (fd == -1)
{
- yaz_log(LOG_FATAL|LOG_ERRNO, "lock file %s", pidfile);
+ yaz_log(LOG_FATAL|LOG_ERRNO, "lock file %s", pidfname);
exit(1);
}
}
#ifdef WIN32
#else
- if (!sob->inetd)
- unlink ("zebrasrv.pid");
+ if (!sob->inetd && sob->handle)
+ {
+ char pidfname[4096];
+ zebra_pidfname(sob->handle, pidfname);
+ unlink (pidfname);
+ }
#endif
if (sob->handle)
{