diff --git a/src/isdn/bridge.c b/src/isdn/bridge.c index d481bb9..de5c522 100644 --- a/src/isdn/bridge.c +++ b/src/isdn/bridge.c @@ -65,6 +65,7 @@ #include #include #include +#include #include #include #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; diff --git a/src/isdn/bridge.h b/src/isdn/bridge.h index b16e7fb..41e5d2d 100644 --- a/src/isdn/bridge.h +++ b/src/isdn/bridge.h @@ -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); diff --git a/src/isdn/main.c b/src/isdn/main.c index 2f4ea5d..1597b89 100644 --- a/src/isdn/main.c +++ b/src/isdn/main.c @@ -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); }