提交 bb665255 编写于 作者: B Bruce Momjian

Back out flockfile change for NetBSD. Giles Lean reports they are not

supported.
上级 43057c7a
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/port/fseeko.c,v 1.9 2003/01/02 23:22:49 momjian Exp $
* $Header: /cvsroot/pgsql/src/port/fseeko.c,v 1.10 2003/01/11 19:38:23 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -21,7 +21,9 @@
#include "c.h"
#ifdef bsdi
#include <pthread.h>
#endif
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
......@@ -44,13 +46,17 @@ fseeko(FILE *stream, off_t offset, int whence)
switch (whence)
{
case SEEK_CUR:
#ifdef bsdi
flockfile(stream);
#endif
if (fgetpos(stream, &floc) != 0)
goto failure;
floc += offset;
if (fsetpos(stream, &floc) != 0)
goto failure;
#ifdef bsdi
funlockfile(stream);
#endif
return 0;
break;
case SEEK_SET:
......@@ -59,13 +65,17 @@ fseeko(FILE *stream, off_t offset, int whence)
return 0;
break;
case SEEK_END:
#ifdef bsdi
flockfile(stream);
#endif
if (fstat(fileno(stream), &filestat) != 0)
goto failure;
floc = filestat.st_size;
if (fsetpos(stream, &floc) != 0)
goto failure;
#ifdef bsdi
funlockfile(stream);
#endif
return 0;
break;
default:
......@@ -74,7 +84,9 @@ fseeko(FILE *stream, off_t offset, int whence)
}
failure:
#ifdef bsdi
funlockfile(stream);
#endif
return -1;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册