[Pvfs2-cvs] commit by slang in pvfs2/src/io/bmi/bmi_tcp: bmi-tcp.c
socket-collection-epoll.h
CVS commit program
cvs at parl.clemson.edu
Thu Oct 19 18:16:56 EDT 2006
Update of /projects/cvsroot/pvfs2/src/io/bmi/bmi_tcp
In directory parlweb1:/tmp/cvs-serv5758/src/io/bmi/bmi_tcp
Modified Files:
Tag: WALT3
bmi-tcp.c socket-collection-epoll.h
Log Message:
reverse merge of HEAD to WALT3 branch.
Index: bmi-tcp.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/bmi/bmi_tcp/bmi-tcp.c,v
diff -p -u -r1.103.4.1 -r1.103.4.2
--- bmi-tcp.c 18 Sep 2006 15:05:13 -0000 1.103.4.1
+++ bmi-tcp.c 19 Oct 2006 22:16:55 -0000 1.103.4.2
@@ -1707,7 +1707,7 @@ int BMI_tcp_query_addr_range(method_addr
struct tcp_addr *tcp_addr_data = map->method_data;
struct sockaddr_in map_addr;
socklen_t map_addr_len = sizeof(map_addr);
- char *tcp_wildcard = (char *) wildcard_string + 6 /* strlen("tcp://") */;
+ const char *tcp_wildcard = wildcard_string + 6 /* strlen("tcp://") */;
memset(&map_addr, 0, sizeof(map_addr));
getsockname(tcp_addr_data->socket, (struct sockaddr *) &map_addr, &map_addr_len);
@@ -1760,11 +1760,26 @@ int BMI_tcp_query_addr_range(method_addr
const char* BMI_tcp_addr_rev_lookup_unexpected(method_addr_p map)
{
struct tcp_addr *tcp_addr_data = map->method_data;
+ int debug_on;
+ uint64_t mask;
-#if !defined(__PVFS2_BMI_REV_LOOKUP_HOSTNAME__) || !defined(HAVE_GETHOSTBYADDR)
+ /* return default response if we don't have support for the right socket
+ * calls
+ */
+#if !defined(HAVE_GETHOSTBYADDR)
return(tcp_addr_data->peer);
-
#else
+
+ /* Only resolve hostnames if a gossip mask is set to request it.
+ * Otherwise we leave it at ip address
+ */
+ gossip_get_debug_mask(&debug_on, &mask);
+
+ if(!debug_on || (!(mask & GOSSIP_ACCESS_HOSTNAMES)))
+ {
+ return(tcp_addr_data->peer);
+ }
+
socklen_t peerlen = sizeof(struct sockaddr_in);
struct sockaddr_in peer;
int ret;
Index: socket-collection-epoll.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/bmi/bmi_tcp/socket-collection-epoll.h,v
diff -p -u -r1.2 -r1.2.4.1
--- socket-collection-epoll.h 24 May 2006 13:24:50 -0000 1.2
+++ socket-collection-epoll.h 19 Oct 2006 22:16:56 -0000 1.2.4.1
@@ -109,6 +109,7 @@ do { \
struct tcp_addr* tcp_data = (m)->method_data; \
if(tcp_data->socket > -1){ \
struct epoll_event event;\
+ memset(&event, 0, sizeof(event));\
event.events = EPOLLIN|EPOLLERR|EPOLLHUP;\
event.data.ptr = tcp_data->map;\
epoll_ctl(s->epfd, EPOLL_CTL_ADD, tcp_data->socket, &event);\
@@ -119,6 +120,7 @@ do { \
do { \
struct epoll_event event;\
struct tcp_addr* tcp_data = (m)->method_data; \
+ memset(&event, 0, sizeof(event));\
event.events = 0;\
event.data.ptr = tcp_data->map;\
epoll_ctl(s->epfd, EPOLL_CTL_DEL, tcp_data->socket, &event);\
@@ -131,6 +133,7 @@ do { \
struct epoll_event event;\
assert(tcp_data->socket > -1); \
tcp_data->write_ref_count++; \
+ memset(&event, 0, sizeof(event));\
event.events = EPOLLIN|EPOLLERR|EPOLLHUP|EPOLLOUT;\
event.data.ptr = tcp_data->map;\
epoll_ctl(s->epfd, EPOLL_CTL_MOD, tcp_data->socket, &event);\
@@ -143,6 +146,7 @@ do { \
tcp_data->write_ref_count--; \
assert(tcp_data->write_ref_count > -1); \
if (tcp_data->write_ref_count == 0) { \
+ memset(&event, 0, sizeof(event));\
event.events = EPOLLIN|EPOLLERR|EPOLLHUP;\
event.data.ptr = tcp_data->map;\
epoll_ctl(s->epfd, EPOLL_CTL_MOD, tcp_data->socket, &event);\
More information about the Pvfs2-cvs
mailing list