Remove the concept of thread priorities from empthread.h. Only LWP
supports priorities. Update synchronization used to rely on them, which naturally worked only with LWP (#1504036). With that fixed, no uses of priorities remained, but a minor bug did: players could starve out threads with priorities below PP_PLAYER, i.e. delete_lostitems() and player_kill_idle(). Closes #1458175: (empth_create): Remove parameter prio. Callers changed. Also gets rid of misleading comments in pthread.c and ntthread.c. (PP_MAIN, PP_UPDATE, PP_SHUTDOWN, PP_SCHED, PP_TIMESTAMP, PP_PLAYER) (PP_ACCEPT, PP_KILLIDLE): Remove. (empth_init, empth_create) [EMPTH_LWP]: Pass priority 1.
This commit is contained in:
parent
7536a38e95
commit
d500a7071c
9 changed files with 13 additions and 38 deletions
|
@ -331,12 +331,9 @@ start_server(int flags)
|
|||
if (journal_startup() < 0)
|
||||
exit(1);
|
||||
|
||||
empth_create(PP_ACCEPT, player_accept, (50 * 1024), flags,
|
||||
"AcceptPlayers", 0);
|
||||
empth_create(PP_KILLIDLE, player_kill_idle, (50 * 1024), flags,
|
||||
"KillIdle", 0);
|
||||
empth_create(PP_TIMESTAMP, delete_lostitems, (50 * 1024), flags,
|
||||
"DeleteItems", 0);
|
||||
empth_create(player_accept, 50 * 1024, flags, "AcceptPlayers", 0);
|
||||
empth_create(player_kill_idle, 50 * 1024, flags, "KillIdle", 0);
|
||||
empth_create(delete_lostitems, 50 * 1024, flags, "DeleteItems", 0);
|
||||
|
||||
market_init();
|
||||
update_init();
|
||||
|
|
|
@ -71,7 +71,6 @@ market_init(void)
|
|||
dp = player_new(-1);
|
||||
if (!dp)
|
||||
exit_nomem();
|
||||
if (!empth_create(PP_UPDATE, market_update, 50 * 1024, 0,
|
||||
"MarketUpdate", dp))
|
||||
if (!empth_create(market_update, 50 * 1024, 0, "MarketUpdate", dp))
|
||||
exit_nomem();
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ shutdown_initiate(int mins_from_now)
|
|||
mins_from_now);
|
||||
/* FIXME wake up shutdown_sequence() */
|
||||
} else {
|
||||
if (!empth_create(PP_SHUTDOWN, shutdown_sequence, 50 * 1024, 0,
|
||||
if (!empth_create(shutdown_sequence, 50 * 1024, 0,
|
||||
"shutdownSeq", NULL))
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ update_init(void)
|
|||
stacksize = 100000 +
|
||||
/* finish_sects */ WORLD_X * WORLD_Y * (2 * sizeof(double) +
|
||||
sizeof(char *));
|
||||
update_thread = empth_create(PP_UPDATE, update_sched, stacksize, 0,
|
||||
update_thread = empth_create(update_sched, stacksize, 0,
|
||||
"Update", dp);
|
||||
if (!update_thread)
|
||||
exit_nomem();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue