- /*-------------------------------------------------------------------------
+/*-------------------------------------------------------------------------
*
* pqcomm.c--
* Communication functions between the Frontend and the Backend
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.53 1998/09/01 04:28:51 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.54 1998/09/10 04:07:59 vadim Exp $
*
*-------------------------------------------------------------------------
*/
*/
if ((lock_fd = open(sock_path, O_RDONLY | O_NONBLOCK, 0666)) >= 0)
{
- if (flock(lock_fd, LOCK_EX | LOCK_NB) == 0)
+ struct flock lck;
+
+ lck.l_whence = SEEK_SET; lck.l_start = lck.l_len = 0;
+ lck.l_type = F_WRLCK;
+ if (fcntl(lock_fd, F_SETLK, &lck) == 0)
{
TPRINTF(TRACE_VERBOSE, "flock on %s, deleting", sock_path);
unlink(sock_path);
*/
if ((lock_fd = open(sock_path, O_RDONLY | O_NONBLOCK, 0666)) >= 0)
{
- if (flock(lock_fd, LOCK_EX | LOCK_NB) != 0)
+ struct flock lck;
+
+ lck.l_whence = SEEK_SET; lck.l_start = lck.l_len = 0;
+ lck.l_type = F_WRLCK;
+ if (fcntl(lock_fd, F_SETLK, &lck) != 0)
TPRINTF(TRACE_VERBOSE, "flock error for %s", sock_path);
}
}
}
#endif
+
+