comparison libfdcore/server.c @ 1113:eb4ce68b6e5c

Added calls to remaining hooks
author Sebastien Decugis <sdecugis@freediameter.net>
date Mon, 13 May 2013 19:17:13 +0800
parents d8591b1c56cd
children d4371b7aa0ff
comparison
equal deleted inserted replaced
1112:d87cee14b051 1113:eb4ce68b6e5c
91 } 91 }
92 92
93 93
94 94
95 /* Dump all servers information */ 95 /* Dump all servers information */
96 DECLARE_FD_DUMP_PROTOTYPE(fd_servers_dump) 96 DECLARE_FD_DUMP_PROTOTYPE(fd_servers_dump, int details)
97 { 97 {
98 struct fd_list * li, *cli; 98 struct fd_list * li, *cli;
99 99
100 FD_DUMP_HANDLE_OFFSET(); 100 FD_DUMP_HANDLE_OFFSET();
101 101
102 for (li = FD_SERVERS.next; li != &FD_SERVERS; li = li->next) { 102 for (li = FD_SERVERS.next; li != &FD_SERVERS; li = li->next) {
103 struct server * s = (struct server *)li; 103 struct server * s = (struct server *)li;
104 enum s_state st = get_status(s); 104 enum s_state st = get_status(s);
105 105
106 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "{server}(@%p)'%s': %s, %s, %s", s, fd_cnx_getid(s->conn), 106 if (details) {
107 IPPROTO_NAME( s->proto ), 107 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "{server}(@%p)'%s': %s, %s, %s", s, fd_cnx_getid(s->conn),
108 s->secur ? "Secur" : "NotSecur", 108 IPPROTO_NAME( s->proto ),
109 (st == NOT_CREATED) ? "Thread not created" : 109 s->secur ? "Secur" : "NotSecur",
110 ((st == RUNNING) ? "Thread running" : 110 (st == NOT_CREATED) ? "Thread not created" :
111 ((st == TERMINATED) ? "Thread terminated" : 111 ((st == RUNNING) ? "Thread running" :
112 "Thread status unknown"))), return NULL); 112 ((st == TERMINATED) ? "Thread terminated" :
113 /* Dump the client list of this server */ 113 "Thread status unknown"))), return NULL);
114 CHECK_POSIX_DO( pthread_mutex_lock(&s->clients_mtx), ); 114 /* Dump the client list of this server */
115 for (cli = s->clients.next; cli != &s->clients; cli = cli->next) { 115 CHECK_POSIX_DO( pthread_mutex_lock(&s->clients_mtx), );
116 struct client * c = (struct client *)cli; 116 for (cli = s->clients.next; cli != &s->clients; cli = cli->next) {
117 char bufts[128]; 117 struct client * c = (struct client *)cli;
118 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "\n {client}(@%p)'%s': to:%s", c, fd_cnx_getid(c->conn), fd_log_time(&c->ts, bufts, sizeof(bufts))), break); 118 char bufts[128];
119 } 119 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "\n {client}(@%p)'%s': to:%s", c, fd_cnx_getid(c->conn), fd_log_time(&c->ts, bufts, sizeof(bufts))), break);
120 CHECK_POSIX_DO( pthread_mutex_unlock(&s->clients_mtx), ); 120 }
121 121 CHECK_POSIX_DO( pthread_mutex_unlock(&s->clients_mtx), );
122 if (li->next != &FD_SERVERS) { 122
123 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "\n"), return NULL); 123 if (li->next != &FD_SERVERS) {
124 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "\n"), return NULL);
125 }
126 } else {
127 CHECK_MALLOC_DO( fd_dump_extend( FD_DUMP_STD_PARAMS, "'%s'(%s,%s) ", fd_cnx_getid(s->conn),
128 IPPROTO_NAME( s->proto ), s->secur ? "Secur" : "NotSecur"), return NULL);
124 } 129 }
125 } 130 }
126 131
127 return *buf; 132 return *buf;
128 } 133 }
443 448
444 { 449 {
445 char * buf = NULL; 450 char * buf = NULL;
446 size_t len = 0, offset = 0; 451 size_t len = 0, offset = 0;
447 CHECK_MALLOC_DO( fd_dump_extend( &buf, &len, &offset , "Local server address(es): "), ); 452 CHECK_MALLOC_DO( fd_dump_extend( &buf, &len, &offset , "Local server address(es): "), );
448 CHECK_MALLOC_DO( fd_ep_dump( &buf, &len, &offset, 5, &fd_g_config->cnf_endpoints ), ); 453 CHECK_MALLOC_DO( fd_ep_dump( &buf, &len, &offset, 0, 0, &fd_g_config->cnf_endpoints ), );
449 LOG_N("%s", buf ?: "Error dumping addresses"); 454 LOG_N("%s", buf ?: "Error dumping addresses");
450 free(buf); 455 free(buf);
451 } 456 }
452 return 0; 457 return 0;
453 } 458 }
"Welcome to our mercurial repository"