diff --git a/include/server.h b/include/server.h index c1c03928..4ca0a411 100644 --- a/include/server.h +++ b/include/server.h @@ -47,7 +47,7 @@ void mobility_init(void); /* thread entry points */ void delete_lostitems(void *); -void market_update(void *); +void market_init(void); void mobility_check(void *); void player_kill_idle(void *); void update_main(void); diff --git a/src/server/main.c b/src/server/main.c index 43162e7c..7d07e740 100644 --- a/src/server/main.c +++ b/src/server/main.c @@ -333,11 +333,7 @@ start_server(int flags) "MobilityCheck", "Writes the timestamp file", 0); } - if (opt_MARKET) { - empth_create(PP_TIMESTAMP, market_update, (50 * 1024), flags, - "MarketUpdate", "Updates the market", 0); - } - + market_init(); update_init(); } diff --git a/src/server/marketup.c b/src/server/marketup.c index ed71efad..f130e130 100644 --- a/src/server/marketup.c +++ b/src/server/marketup.c @@ -35,6 +35,7 @@ #include "empthread.h" #include "file.h" +#include "optlist.h" #include "player.h" #include "prototypes.h" #include "server.h" @@ -64,7 +65,7 @@ check_all_markets(void *unused) } /*ARGSUSED*/ -void +static void market_update(void *unused) { time_t now; @@ -85,3 +86,13 @@ market_update(void *unused) } /*NOTREACHED*/ } + +void +market_init(void) +{ + if (!opt_MARKET) + return; + if (!empth_create(PP_TIMESTAMP, market_update, 50 * 1024, 0, + "MarketUpdate", "Updates the market", NULL)) + exit_nomem(); +}