Skip to content

Commit

Permalink
server : bind to any port when specified (ggerganov#10590)
Browse files Browse the repository at this point in the history
  • Loading branch information
alek3y authored Dec 1, 2024
1 parent 6acce39 commit 86dc11c
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions examples/server/server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3347,8 +3347,18 @@ int main(int argc, char ** argv) {
llama_backend_free();
};

// bind HTTP listen port, run the HTTP server in a thread
if (!svr->bind_to_port(params.hostname, params.port)) {
// bind HTTP listen port
bool was_bound = false;
if (params.port == 0) {
int bound_port = svr->bind_to_any_port(params.hostname);
if ((was_bound = (bound_port >= 0))) {
params.port = bound_port;
}
} else {
was_bound = svr->bind_to_port(params.hostname, params.port);
}

if (!was_bound) {
//LOG_ERROR("couldn't bind HTTP server socket", {
// {"hostname", params.hostname},
// {"port", params.port},
Expand All @@ -3357,6 +3367,8 @@ int main(int argc, char ** argv) {
clean_up();
return 1;
}

// run the HTTP server in a thread
std::thread t([&]() { svr->listen_after_bind(); });
svr->wait_until_ready();

Expand Down

0 comments on commit 86dc11c

Please sign in to comment.