MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / dm_cond_signal

Function dm_cond_signal

modules/aaa_diameter/dm_impl.c:283–305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

281}
282
283static void dm_cond_signal(struct dm_cond *cond)
284{
285 LM_INFO("singalling %p/%d\n", cond, cond->type);
286 switch (cond->type) {
287 case DM_TYPE_EVENT:
288 dm_cond_ref(cond);
289 if (ipc_send_rpc(cond->sync.event.pid, dm_cond_event_resume, cond) < 0) {
290 LM_ERR("could not resume async MI command!\n");
291 dm_cond_unref(cond);
292 }
293 break;
294 case DM_TYPE_COND:
295 /* signal the blocked SIP worker that the auth result is available! */
296 pthread_mutex_lock(&cond->sync.cond.mutex);
297 pthread_cond_signal(&cond->sync.cond.cond);
298 pthread_mutex_unlock(&cond->sync.cond.mutex);
299 break;
300 case DM_TYPE_CB:
301 if (cond->sync.cb.f)
302 cond->sync.cb.f(NULL, &cond->rpl, cond->sync.cb.p);
303 break;
304 }
305}
306
307
308static int dm_auth_reply(struct msg **_msg, struct avp * avp, struct session * sess, void * data, enum disp_action * act)

Callers 2

dm_auth_replyFunction · 0.85
dm_receive_msgFunction · 0.85

Calls 3

dm_cond_refFunction · 0.85
ipc_send_rpcFunction · 0.85
dm_cond_unrefFunction · 0.85

Tested by

no test coverage detected