counts the number of processes known by OpenSIPS at startup. * Note that the number of processes might change during init, if one of the * module decides that it will no longer use a process (ex; rtpproxy timeout * process) */
| 429 | * process) |
| 430 | */ |
| 431 | int count_child_processes(void) |
| 432 | { |
| 433 | unsigned int proc_no; |
| 434 | unsigned int proc_extra_no; |
| 435 | unsigned int extra; |
| 436 | |
| 437 | proc_no = 0; |
| 438 | proc_extra_no = 0; |
| 439 | |
| 440 | /* UDP based listeners */ |
| 441 | proc_no += udp_count_processes( &extra ); |
| 442 | proc_extra_no += extra; |
| 443 | |
| 444 | /* TCP based listeners */ |
| 445 | proc_no += tcp_count_processes( &extra ); |
| 446 | proc_extra_no += extra; |
| 447 | |
| 448 | /* Timer related processes */ |
| 449 | proc_no += timer_count_processes( &extra ); |
| 450 | proc_extra_no += extra; |
| 451 | |
| 452 | /* attendent */ |
| 453 | proc_no++; |
| 454 | |
| 455 | /* count the processes requested by modules */ |
| 456 | proc_no += count_module_procs(0); |
| 457 | |
| 458 | return proc_no + proc_extra_no; |
| 459 | } |
| 460 | |
| 461 | |
| 462 | void dynamic_process_final_exit(void) |
no test coverage detected