Mercurial > hg > freeDiameter
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 } |