From ee00b75441aa98eb228910329e0272945808eac3 Mon Sep 17 00:00:00 2001 From: "Vadim B. Mikheev" Date: Thu, 10 Sep 1998 04:07:59 +0000 Subject: [PATCH] flock --> fcntl --- src/backend/libpq/pqcomm.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 349765f171..cab6289d9e 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -1,4 +1,4 @@ - /*------------------------------------------------------------------------- +/*------------------------------------------------------------------------- * * pqcomm.c-- * Communication functions between the Frontend and the Backend @@ -7,7 +7,7 @@ * * * 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 $ * *------------------------------------------------------------------------- */ @@ -562,7 +562,11 @@ StreamServerPort(char *hostName, short portName, int *fdP) */ 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); @@ -607,7 +611,11 @@ StreamServerPort(char *hostName, short portName, int *fdP) */ 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); } } @@ -790,3 +798,5 @@ pq_putncharlen(char *s, int n) } #endif + + -- 2.40.0