Fix brigde daemon forking; no more 'defunct' child process
This commit is contained in:
parent
72043327b9
commit
3d385fd095
|
@ -65,6 +65,7 @@
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
#include <ifaddrs.h>
|
#include <ifaddrs.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "../libdebug/debug.h"
|
#include "../libdebug/debug.h"
|
||||||
|
@ -409,8 +410,8 @@ void bridge_socket_server_child(int slots, int daemon)
|
||||||
close(server_ofd.fd);
|
close(server_ofd.fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* create socket server thread and return 0 on success, return -errno on failure */
|
/* create socket server process and return 0 on success, return -errno on failure */
|
||||||
int brigde_socket_server(int slots)
|
int bridge_socket_server(int slots)
|
||||||
{
|
{
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
|
@ -434,6 +435,7 @@ int brigde_socket_server(int slots)
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wait(NULL);
|
||||||
usleep(100000);
|
usleep(100000);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
int brigde_socket_server(int slots);
|
int bridge_socket_server(int slots);
|
||||||
void bridge_socket_server_child(int slots, int daemon);
|
void bridge_socket_server_child(int slots, int daemon);
|
||||||
|
|
||||||
int bridge_socket_client(isdn_t *isdn_ep);
|
int bridge_socket_client(isdn_t *isdn_ep);
|
||||||
|
|
|
@ -338,7 +338,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
/* start bridge server */
|
/* start bridge server */
|
||||||
if (use_hfc_bridging) {
|
if (use_hfc_bridging) {
|
||||||
brigde_socket_server(pcm_slots);
|
bridge_socket_server(pcm_slots);
|
||||||
bridge_socket_client(isdn_ep);
|
bridge_socket_client(isdn_ep);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue