Skip to content

Commit 9340f4a

Browse files
committed
Merge remote-tracking branch 'origin/master' into web-lockup
2 parents 71583ea + 946b12e commit 9340f4a

4 files changed

Lines changed: 12 additions & 13 deletions

File tree

src/OpenRoad.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,7 @@ void OpenRoad::init(Tcl_Interp* tcl_interp,
273273
icewall_ = new pad::ICeWall(db_, logger_);
274274
dft_ = new dft::Dft(db_, sta_, logger_);
275275
example_ = new exa::Example(db_, logger_);
276-
web_server_
277-
= new web::WebServer(db_, sta_, logger_, tcl_interp, getThreadCount());
276+
web_server_ = new web::WebServer(db_, sta_, logger_, tcl_interp);
278277

279278
// Init components.
280279
Ord_Init(tcl_interp);
@@ -687,6 +686,9 @@ void OpenRoad::setThreadCount(int threads, bool print_info)
687686
if (global_router_ != nullptr) {
688687
global_router_->setNumThreads(threads_);
689688
}
689+
if (web_server_ != nullptr) {
690+
web_server_->setThreadCount(threads_);
691+
}
690692
}
691693

692694
void OpenRoad::setThreadCount(const char* threads, bool print_info)

src/web/include/web/web.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ class WebServer
7272
WebServer(odb::dbDatabase* db,
7373
sta::dbSta* sta,
7474
utl::Logger* logger,
75-
Tcl_Interp* interp,
76-
int num_threads);
75+
Tcl_Interp* interp);
7776
~WebServer();
7877

7978
// Register the WebLogSink with the Logger so startup output is captured
@@ -84,6 +83,10 @@ class WebServer
8483
// the network threads racing the main thread's db construction.
8584
void initLogger();
8685

86+
// Sets the number of thread workers for the server's I/O context.
87+
// Must be called before serve() to take effect.
88+
void setThreadCount(int num_threads) { num_threads_ = num_threads; }
89+
8790
// Start the web server on the given port. Launches background
8891
// I/O threads and returns immediately. A second call is a no-op if
8992
// the server is already running.

src/web/src/web.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -942,13 +942,8 @@ void Listener::on_accept(beast::error_code ec, Tcp::socket socket)
942942
WebServer::WebServer(odb::dbDatabase* db,
943943
sta::dbSta* sta,
944944
utl::Logger* logger,
945-
Tcl_Interp* interp,
946-
int num_threads)
947-
: db_(db),
948-
sta_(sta),
949-
logger_(logger),
950-
interp_(interp),
951-
num_threads_(num_threads)
945+
Tcl_Interp* interp)
946+
: db_(db), sta_(sta), logger_(logger), interp_(interp), num_threads_(1)
952947
{
953948
}
954949

src/web/test/cpp/TestSaveReport.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,7 @@ class SaveReportTest : public tst::Nangate45Fixture
8585
WebServer server(getDb(),
8686
/*sta=*/nullptr,
8787
getLogger(),
88-
/*interp=*/nullptr,
89-
/*num_threads=*/1);
88+
/*interp=*/nullptr);
9089
server.saveReport(path, max_setup, max_hold);
9190
}
9291

0 commit comments

Comments
 (0)