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

Function add_to_fss_sockets

modules/freeswitch_scripting/fss_evs.c:209–250  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

207}
208
209int add_to_fss_sockets(fs_evs *sock, const str *event_name)
210{
211 struct list_head *_;
212 struct fs_evs_list *sock_list;
213 str_list *slist, *event;
214
215 LM_DBG("adding event: %.*s\n", event_name->len, event_name->s);
216
217 list_for_each(_, fss_sockets) {
218 sock_list = list_entry(_, struct fs_evs_list, list);
219 if (sock_list->sock != sock)
220 continue;
221
222 for (event = sock_list->events; event; event = event->next)
223 if (str_strcmp(&event->s, event_name) == 0)
224 return 0;
225
226 goto alloc_event;
227 }
228
229 LM_BUG("add_to_fss_sockets sock not found");
230 return -1;
231
232alloc_event:
233 slist = shm_malloc(sizeof *slist);
234 if (!slist) {
235 LM_ERR("oom\n");
236 return -1;
237 }
238 memset(slist, 0, sizeof *slist);
239
240 if (shm_nt_str_dup(&slist->s, event_name) != 0) {
241 shm_free(slist);
242 LM_ERR("oom\n");
243 return -1;
244 }
245
246 slist->next = sock_list->events;
247 sock_list->events = slist;
248
249 return 1;
250}
251
252int del_from_fss_sockets(fs_evs *sock, const str *event_name)
253{

Callers 2

subscribe_to_fs_urlsFunction · 0.85
mi_fs_subscribeFunction · 0.85

Calls 4

shm_mallocFunction · 0.85
shm_nt_str_dupFunction · 0.85
shm_freeFunction · 0.85
list_entryClass · 0.50

Tested by

no test coverage detected