|
1 | | -/*------------------------------------------------------------------------- |
| 1 | +/*------------------------------------------------------------------------- |
2 | 2 | * |
3 | 3 | * pqcomm.c-- |
4 | 4 | * Communication functions between the Frontend and the Backend |
|
7 | 7 | * |
8 | 8 | * |
9 | 9 | * IDENTIFICATION |
10 | | - * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.53 1998/09/01 04:28:51 momjian Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.54 1998/09/10 04:07:59 vadim Exp $ |
11 | 11 | * |
12 | 12 | *------------------------------------------------------------------------- |
13 | 13 | */ |
@@ -562,7 +562,11 @@ StreamServerPort(char *hostName, short portName, int *fdP) |
562 | 562 | */ |
563 | 563 | if ((lock_fd=open(sock_path,O_RDONLY |O_NONBLOCK,0666)) >=0) |
564 | 564 | { |
565 | | -if (flock(lock_fd,LOCK_EX |LOCK_NB)==0) |
| 565 | +structflocklck; |
| 566 | + |
| 567 | +lck.l_whence=SEEK_SET;lck.l_start=lck.l_len=0; |
| 568 | +lck.l_type=F_WRLCK; |
| 569 | +if (fcntl(lock_fd,F_SETLK,&lck)==0) |
566 | 570 | { |
567 | 571 | TPRINTF(TRACE_VERBOSE,"flock on %s, deleting",sock_path); |
568 | 572 | unlink(sock_path); |
@@ -607,7 +611,11 @@ StreamServerPort(char *hostName, short portName, int *fdP) |
607 | 611 | */ |
608 | 612 | if ((lock_fd=open(sock_path,O_RDONLY |O_NONBLOCK,0666)) >=0) |
609 | 613 | { |
610 | | -if (flock(lock_fd,LOCK_EX |LOCK_NB)!=0) |
| 614 | +structflocklck; |
| 615 | + |
| 616 | +lck.l_whence=SEEK_SET;lck.l_start=lck.l_len=0; |
| 617 | +lck.l_type=F_WRLCK; |
| 618 | +if (fcntl(lock_fd,F_SETLK,&lck)!=0) |
611 | 619 | TPRINTF(TRACE_VERBOSE,"flock error for %s",sock_path); |
612 | 620 | } |
613 | 621 | } |
@@ -790,3 +798,5 @@ pq_putncharlen(char *s, int n) |
790 | 798 | } |
791 | 799 |
|
792 | 800 | #endif |
| 801 | + |
| 802 | + |