Hi All,
The code is in the brolley/dev branch of the pcpfans repository. I've
kept the branch up to date with respect to the dev branch of pcpfans,
which is, in turn a mirror of the sgi repository, so it should be
possible to simply merge my branch into the dev branch of the sgi
repository.
In any case, here is a list of the relevant commits:
commit f31ccfc82dfe79d444637b132feb71148458408c
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jul 3 21:19:16 2013 -0400
Make sure that $PCP_RUN_DIR is insatlled as '775 $PCP_USER $PCP_GROUP'.
commit fcbd8675e787724856e84826a95bacd092b51b00
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jul 3 21:05:25 2013 -0400
Some configuration variable renaming for clarity:
- PCP_OWNER, pcp_owner -> PCP_USER_INSTALL, pcp_user_install
- PCP_GROUP, pcp_group -> PCP_GROUP_INSTALL, pcp_group_install
- pcp_uname, --with-user-account -> pcp_user, --with-user
- pcp_gname, --with-group-account -> pcp_group, --with-group
commit 324340e6ca2d18ff303806312012d053bb7c750c
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jul 2 15:52:47 2013 -0400
Describe the unix:// and local:// host protocols.
commit c7a81117499acc025e9d066e10aa04f836e4f708
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 26 12:10:03 2013 -0400
Call __pmServerCloseRequestPorts() from DontStart() in pmcd.
DontStart() is often called after the pmcd request ports have
already been opened. While the unix and tcp sockets will get closed
when
the program exits, the unix socket file remain in the file system
cause "address alreadu in use" the next time pmcd starts.
Calling __pmServerCloseRequestPorts() cleanly closes any open
sockets and removes the unix socket file from the file system.
Some previous qa test output filters are no longer required (454 546).
commit 1b81106d7840de205219065b0b481c715c1a8d84
Merge: f869309 9e90d5f
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jun 25 16:25:13 2013 -0400
Merge remote-tracking branch 'origin/dev' into brolley/dev
Conflicts:
src/pmcd/src/pmcd.c
commit f8693093aa658e49e5a67348ff376127ba2392d0
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jun 25 16:22:20 2013 -0400
qa rework from unix domain sockets code review.
commit 5fa31b6665c024780b3b3ed066cf64087a882602
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Tue Jun 25 16:21:47 2013 -0400
Code review rework for unix domain sockets.
commit bb050d2ac202760ef6fdbbd4d2db292a6b10f6ba
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Mon Jun 24 10:55:42 2013 -0400
Create $PCP_RUN_DIR with perms 775 and group $PCP_USER.
commit 3fa77b667097d1d5957df6ad28d7d087d62a5eba
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Thu Jun 20 12:29:09 2013 -0400
Update release required for unix domain sockets.
We missed 3.8.1. Threshold release is not 3.8.2.
commit 43d4d3a0b238268b5736b389e1d0311f738c5c08
Merge: 6b9a4d5 490041a
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 19 14:43:14 2013 -0400
Merge remote-tracking branch 'origin/brolley/dev' into brolley/dev
Conflicts:
src/include/pcp/impl.h
src/libpcp/src/auxconnect.c
src/libpcp/src/connect.c
src/pmcd/src/pmcd.c
commit 6b9a4d58f56937d179503ae6a202f81a53238827
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 19 14:33:18 2013 -0400
Implement new protocols to enable clients connecting to pmcd via
unix domain sockets.
unix:[//PATH] - connect to the unix domain socket at PATH. If no
PATH is specified, check $PMCD_SOCKET for a path. If PMCD_SOCKET
is not defined, use the default path: ${localstatedir}/pcp/pmcd.socket.
local:[//PATH] - Same as above, except that if the connection fails,
try connecting to localhost using the default tcp port.
commit 490041abbe1e8a250d1da2cb2fc4ad542513c0f6
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 12 16:24:11 2013 -0400
qa fallout from the the unix domain socket work.
Expect the unix domain socket to be listed in the request ports
section of the pmcd log.
commit fff512aad6b9ccff6054b68bdeff7236e1269c06
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 12 14:50:05 2013 -0400
Add unix_domain-sockets={true,false] to __pmAPIConfig().
commit 7b112c96df66f871b14ab9a62a4927fff0ea39dc
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 12 14:10:29 2013 -0400
Test HAVE_STRUCT_SOCKADDR_UN instead of HAVE_SYS_UN_H when
protecting AF_UNIX code.
commit 58ced6a24d562f0f0ea6e7d7fbed220b53c6047a
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Wed Jun 12 13:32:14 2013 -0400
Prototype API for client connecting to pmcd via unix domain sockets.
- New API function __pmAuxCOnnectPMCDUnixSocket().
- Pass negative port number to __pmConnectTo() to indicate no port.
- Try unix domain socket connection in __pmConnectPMCD() when the
host name is 'localhost' and PMCD_SOCKET is defined in the
environment.
- A few fixes in the previously committed API extension exposed
while testing this one.
commit c7001a8afd4c17bd6e3978e3b8bd4f3c33f393a6
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Mon Jun 10 14:19:55 2013 -0400
Use new __pmServerSetLocalSocket() API from pmcd.
commit 52e46890c5d4bb5422501b1e93b3e469c827a084
Author: Dave Brolley <brolley@xxxxxxxxxx>
Date: Mon Jun 10 14:07:58 2013 -0400
Support servers listening on unix domain socket in libpcp.
- New API functions:
__pmCreateUnixSocket(), __pmSockAddrIsUnix(), __pmSockAddrSetPath(),
__pmServerSetLocalSocket()
- __pmInitSocket now takes address family argument.
- Don't set TCP_NODELAY for unix sockets in __pmInitSocket()
- Support AF_UNIX in otehr API functions where address families
are tested.
- Manage the unix socket file in OpenRequestSocket()
(permissions, deletion, etc), if requested.
- Manage the unix socket in OpenRequestPorts(),
__pmServerAddNewClients(), __pmServerCloseRequestPorts().
|