diff --git a/mxqd_control.c b/mxqd_control.c index 02fd76ee..47903673 100644 --- a/mxqd_control.c +++ b/mxqd_control.c @@ -435,8 +435,11 @@ struct mxq_group_list *_server_add_group(struct mxq_server *server, struct mxq_g ulist->server = server; - ulist->next = server->users; - server->users = ulist; + /* add new user at tail, so longer waiting users are preferred */ + struct mxq_user_list **lastptr = &server->users; + while (*lastptr) + lastptr = &(*lastptr)->next; + *lastptr = ulist; server->user_cnt++;