Before, it was started after all commands aborted. Shouldn't make a
difference in practice, as command abortion is supposed to be quick.
shutdwn(int sig)
{
struct player *p;
shutdwn(int sig)
{
struct player *p;
+ time_t now = time(NULL);
int i;
logerror("Shutdown commencing (cleaning up threads.)");
int i;
logerror("Shutdown commencing (cleaning up threads.)");
}
empth_rwlock_wrlock(play_lock);
}
empth_rwlock_wrlock(play_lock);
empth_yield();
for (i = 1; i <= 3 && player_next(NULL); i++) {
logerror("Waiting for player threads to terminate\n");
empth_yield();
for (i = 1; i <= 3 && player_next(NULL); i++) {
logerror("Waiting for player threads to terminate\n");