Ismael Barros wrote: > --- > +static DWORD WINAPI udp_listener_thread( LPVOID lpParameter ) > +{ > + for ( ;; ) > + { ..... > + } > +} You do not have exit from the loop.
> + /* Launch thread */ > + listener->handle = CreateThread( NULL, 0, udp_listener_thread, > + listener, 0, NULL ); I haven't found the place where you closing this handle. > + /* Launch thread */ > + listener->handle = CreateThread( NULL, 0, > + ( is_tcp > + ? tcp_listener_thread > + : udp_listener_thread ), > + listener, 0, NULL ); Same here. Vitaliy.