version 1.21, 2010/12/20 00:03:55 |
version 1.22, 2010/12/20 00:19:20 |
|
|
} |
} |
if (i == ARRAY_LENGTH(&dead_sessions)) |
if (i == ARRAY_LENGTH(&dead_sessions)) |
ARRAY_ADD(&dead_sessions, s); |
ARRAY_ADD(&dead_sessions, s); |
s->flags |= SESSION_DEAD; |
|
} |
} |
|
|
/* Find session index. */ |
/* Find session index. */ |
|
|
struct session *s2; |
struct session *s2; |
u_int i; |
u_int i; |
|
|
if (ARRAY_LENGTH(&sessions) == 0 || session_index(s, &i) != 0) |
if (ARRAY_LENGTH(&sessions) == 0 || !session_alive(s)) |
return (NULL); |
return (NULL); |
|
|
do { |
do { |
|
|
else |
else |
i++; |
i++; |
s2 = ARRAY_ITEM(&sessions, i); |
s2 = ARRAY_ITEM(&sessions, i); |
} while (s2 == NULL || s2->flags & SESSION_DEAD); |
} while (s2 == NULL); |
|
|
return (s2); |
return (s2); |
} |
} |
|
|
struct session *s2; |
struct session *s2; |
u_int i; |
u_int i; |
|
|
if (ARRAY_LENGTH(&sessions) == 0 || session_index(s, &i) != 0) |
if (ARRAY_LENGTH(&sessions) == 0 || !session_alive(s)) |
return (NULL); |
return (NULL); |
|
|
do { |
do { |
|
|
else |
else |
i--; |
i--; |
s2 = ARRAY_ITEM(&sessions, i); |
s2 = ARRAY_ITEM(&sessions, i); |
} while (s2 == NULL || s2->flags & SESSION_DEAD); |
} while (s2 == NULL); |
|
|
return (s2); |
return (s2); |
} |
} |