tried to make server struct reusable
this opens up a pandorra box:
- what if users use server struct multiple times, 2x listen calls with same server
- need locking, since active flag would be modified 2 threads, currently only _abort sets it to false
- while (server->active) would need to be protected by lock
- proper unit tests
and all that without a use-case in sight.
just added a check, that if the server struct already was run before, (==shutdown_complete), then refuse to start the server