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 <arpa/inet.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
#include <ifaddrs.h>
|
||||
#include <errno.h>
|
||||
#include "../libdebug/debug.h"
|
||||
|
@ -409,8 +410,8 @@ void bridge_socket_server_child(int slots, int daemon)
|
|||
close(server_ofd.fd);
|
||||
}
|
||||
|
||||
/* create socket server thread and return 0 on success, return -errno on failure */
|
||||
int brigde_socket_server(int slots)
|
||||
/* create socket server process and return 0 on success, return -errno on failure */
|
||||
int bridge_socket_server(int slots)
|
||||
{
|
||||
pid_t pid;
|
||||
|
||||
|
@ -434,6 +435,7 @@ int brigde_socket_server(int slots)
|
|||
exit(0);
|
||||
}
|
||||
|
||||
wait(NULL);
|
||||
usleep(100000);
|
||||
|
||||
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);
|
||||
|
||||
int bridge_socket_client(isdn_t *isdn_ep);
|
||||
|
|
|
@ -338,7 +338,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
/* start bridge server */
|
||||
if (use_hfc_bridging) {
|
||||
brigde_socket_server(pcm_slots);
|
||||
bridge_socket_server(pcm_slots);
|
||||
bridge_socket_client(isdn_ep);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue