Lines Matching +full:key +full:- +full:release

2  * util/shm_side/shm_main.c - SHM for statistics transport
72 time_t end_usec = end->tv_usec; in stat_timeval_subtract()
73 *d_sec = end->tv_sec - start->tv_sec; in stat_timeval_subtract()
74 if(end_usec < start->tv_usec) { in stat_timeval_subtract()
76 (*d_sec)--; in stat_timeval_subtract()
78 *d_usec = end_usec - start->tv_usec; in stat_timeval_subtract()
92 if(!daemon->cfg->shm_enable) in shm_main_init()
94 if(daemon->cfg->stat_interval == 0) in shm_main_init()
95 log_warn("shm-enable is yes but statistics-interval is 0"); in shm_main_init()
98 shm_size = (sizeof(struct ub_stats_info) * (daemon->num + 1)); in shm_main_init()
101 daemon->shm_info = (struct shm_main_info*)calloc(1, shm_size); in shm_main_init()
104 if(!daemon->shm_info) { in shm_main_init()
109 daemon->shm_info->key = daemon->cfg->shm_key; in shm_main_init()
112 daemon->shm_info->id_ctl = shmget(daemon->shm_info->key, sizeof(int), SHM_R); in shm_main_init()
113 daemon->shm_info->id_arr = shmget(daemon->shm_info->key + 1, sizeof(int), SHM_R); in shm_main_init()
116 if (daemon->shm_info->id_ctl >= 0) in shm_main_init()
117 shmctl(daemon->shm_info->id_ctl, IPC_RMID, NULL); in shm_main_init()
120 if (daemon->shm_info->id_arr >= 0) in shm_main_init()
121 shmctl(daemon->shm_info->id_arr, IPC_RMID, NULL); in shm_main_init()
124 …daemon->shm_info->id_ctl = shmget(daemon->shm_info->key, sizeof(struct ub_shm_stat_info), IPC_CREA… in shm_main_init()
126 if (daemon->shm_info->id_ctl < 0) in shm_main_init()
128 log_err("SHM failed(id_ctl) cannot shmget(key %d) %s", in shm_main_init()
129 daemon->shm_info->key, strerror(errno)); in shm_main_init()
131 /* Just release memory unused */ in shm_main_init()
132 free(daemon->shm_info); in shm_main_init()
133 daemon->shm_info = NULL; in shm_main_init()
138 daemon->shm_info->id_arr = shmget(daemon->shm_info->key + 1, shm_size, IPC_CREAT | 0644); in shm_main_init()
140 if (daemon->shm_info->id_arr < 0) in shm_main_init()
142 log_err("SHM failed(id_arr) cannot shmget(key %d + 1) %s", in shm_main_init()
143 daemon->shm_info->key, strerror(errno)); in shm_main_init()
145 /* Just release memory unused */ in shm_main_init()
146 free(daemon->shm_info); in shm_main_init()
147 daemon->shm_info = NULL; in shm_main_init()
153 daemon->shm_info->ptr_ctl = (struct ub_shm_stat_info*) in shm_main_init()
154 shmat(daemon->shm_info->id_ctl, NULL, 0); in shm_main_init()
155 if(daemon->shm_info->ptr_ctl == (void *) -1) { in shm_main_init()
157 daemon->shm_info->id_ctl, strerror(errno)); in shm_main_init()
159 /* Just release memory unused */ in shm_main_init()
160 free(daemon->shm_info); in shm_main_init()
161 daemon->shm_info = NULL; in shm_main_init()
166 daemon->shm_info->ptr_arr = (struct ub_stats_info*) in shm_main_init()
167 shmat(daemon->shm_info->id_arr, NULL, 0); in shm_main_init()
169 if (daemon->shm_info->ptr_arr == (void *) -1) in shm_main_init()
172 daemon->shm_info->id_arr, strerror(errno)); in shm_main_init()
174 /* Just release memory unused */ in shm_main_init()
175 free(daemon->shm_info); in shm_main_init()
176 daemon->shm_info = NULL; in shm_main_init()
182 memset(daemon->shm_info->ptr_ctl, 0, sizeof(struct ub_shm_stat_info)); in shm_main_init()
183 memset(daemon->shm_info->ptr_arr, 0, shm_size); in shm_main_init()
185 shm_stat = daemon->shm_info->ptr_ctl; in shm_main_init()
186 shm_stat->num_threads = daemon->num; in shm_main_init()
198 if(!daemon->cfg->shm_enable) in shm_main_shutdown()
201 verbose(VERB_DETAIL, "SHM shutdown - KEY [%d] - ID CTL [%d] ARR [%d] - PTR CTL [%p] ARR [%p]", in shm_main_shutdown()
202 …daemon->shm_info->key, daemon->shm_info->id_ctl, daemon->shm_info->id_arr, daemon->shm_info->ptr_c… in shm_main_shutdown()
205 if (daemon->shm_info->id_ctl >= 0) in shm_main_shutdown()
206 shmctl(daemon->shm_info->id_ctl, IPC_RMID, NULL); in shm_main_shutdown()
208 if (daemon->shm_info->id_arr >= 0) in shm_main_shutdown()
209 shmctl(daemon->shm_info->id_arr, IPC_RMID, NULL); in shm_main_shutdown()
211 if (daemon->shm_info->ptr_ctl) in shm_main_shutdown()
212 shmdt(daemon->shm_info->ptr_ctl); in shm_main_shutdown()
214 if (daemon->shm_info->ptr_arr) in shm_main_shutdown()
215 shmdt(daemon->shm_info->ptr_arr); in shm_main_shutdown()
217 free(daemon->shm_info); in shm_main_shutdown()
218 daemon->shm_info = NULL; in shm_main_shutdown()
233 verbose(VERB_DETAIL, "SHM run - worker [%d] - daemon [%p] - timenow(%u) - timeboot(%u)", in shm_main_run()
234 …worker->thread_num, worker->daemon, (unsigned)worker->env.now_tv->tv_sec, (unsigned)worker->daemon in shm_main_run()
237 offset = worker->thread_num + 1; in shm_main_run()
238 stat_total = worker->daemon->shm_info->ptr_arr; in shm_main_run()
239 stat_info = worker->daemon->shm_info->ptr_arr + offset; in shm_main_run()
245 if (worker->thread_num == 0) { in shm_main_run()
252 shm_stat = worker->daemon->shm_info->ptr_ctl; in shm_main_run()
253 shm_stat->time.now_sec = (long long)worker->env.now_tv->tv_sec; in shm_main_run()
254 shm_stat->time.now_usec = (long long)worker->env.now_tv->tv_usec; in shm_main_run()
257 …stat_timeval_subtract(&shm_stat->time.up_sec, &shm_stat->time.up_usec, worker->env.now_tv, &worker in shm_main_run()
258 …stat_timeval_subtract(&shm_stat->time.elapsed_sec, &shm_stat->time.elapsed_usec, worker->env.now_t… in shm_main_run()
260 shm_stat->mem.msg = (long long)slabhash_get_mem(worker->env.msg_cache); in shm_main_run()
261 shm_stat->mem.rrset = (long long)slabhash_get_mem(&worker->env.rrset_cache->table); in shm_main_run()
262 shm_stat->mem.dnscrypt_shared_secret = 0; in shm_main_run()
264 if(worker->daemon->dnscenv) { in shm_main_run()
265 shm_stat->mem.dnscrypt_shared_secret = (long long)slabhash_get_mem( in shm_main_run()
266 worker->daemon->dnscenv->shared_secrets_cache); in shm_main_run()
267 shm_stat->mem.dnscrypt_nonce = (long long)slabhash_get_mem( in shm_main_run()
268 worker->daemon->dnscenv->nonces_cache); in shm_main_run()
271 shm_stat->mem.val = (long long)mod_get_mem(&worker->env, in shm_main_run()
273 shm_stat->mem.iter = (long long)mod_get_mem(&worker->env, in shm_main_run()
275 shm_stat->mem.respip = (long long)mod_get_mem(&worker->env, in shm_main_run()
281 shm_stat->mem.subnet = 0; in shm_main_run()
283 shm_stat->mem.subnet = (long long)mod_get_mem(&worker->env, in shm_main_run()
289 shm_stat->mem.ipsecmod = 0; in shm_main_run()
291 shm_stat->mem.ipsecmod = (long long)mod_get_mem(&worker->env, in shm_main_run()
295 shm_stat->mem.dynlib = (long long)mod_get_mem(&worker->env, in shm_main_run()
303 stat_total->mesh_time_median /= (double)worker->daemon->num; in shm_main_run()