| 11 /* |
11 /* |
| 12 * Clears out connection list, killing remaining connections. |
12 * Clears out connection list, killing remaining connections. |
| 13 */ |
13 */ |
| 14 void aim_connrst(struct aim_session_t *sess) |
14 void aim_connrst(struct aim_session_t *sess) |
| 15 { |
15 { |
| 16 faim_mutex_init(&sess->connlistlock, NULL); |
16 faim_mutex_init(&sess->connlistlock); |
| 17 if (sess->connlist) { |
17 if (sess->connlist) { |
| 18 struct aim_conn_t *cur = sess->connlist, *tmp; |
18 struct aim_conn_t *cur = sess->connlist, *tmp; |
| 19 |
19 |
| 20 while(cur) { |
20 while(cur) { |
| 21 tmp = cur->next; |
21 tmp = cur->next; |
| 66 deadconn->seqnum = 0; |
66 deadconn->seqnum = 0; |
| 67 deadconn->lastactivity = 0; |
67 deadconn->lastactivity = 0; |
| 68 deadconn->forcedlatency = 0; |
68 deadconn->forcedlatency = 0; |
| 69 deadconn->handlerlist = NULL; |
69 deadconn->handlerlist = NULL; |
| 70 deadconn->priv = NULL; |
70 deadconn->priv = NULL; |
| 71 faim_mutex_init(&deadconn->active, NULL); |
71 faim_mutex_init(&deadconn->active); |
| 72 faim_mutex_init(&deadconn->seqnum_lock, NULL); |
72 faim_mutex_init(&deadconn->seqnum_lock); |
| 73 |
73 |
| 74 return; |
74 return; |
| 75 } |
75 } |
| 76 |
76 |
| 77 void aim_conn_kill(struct aim_session_t *sess, struct aim_conn_t **deadconn) |
77 void aim_conn_kill(struct aim_session_t *sess, struct aim_conn_t **deadconn) |
| 371 memset(sess, 0, sizeof(struct aim_session_t)); |
371 memset(sess, 0, sizeof(struct aim_session_t)); |
| 372 aim_connrst(sess); |
372 aim_connrst(sess); |
| 373 sess->queue_outgoing = NULL; |
373 sess->queue_outgoing = NULL; |
| 374 sess->queue_incoming = NULL; |
374 sess->queue_incoming = NULL; |
| 375 sess->pendingjoin = NULL; |
375 sess->pendingjoin = NULL; |
| 376 sess->outstanding_snacs = NULL; |
376 aim_initsnachash(sess); |
| 377 sess->snac_nextid = 0x00000001; |
377 sess->snac_nextid = 0x00000001; |
| 378 |
378 |
| 379 /* |
379 /* |
| 380 * This must always be set. Default to the queue-based |
380 * This must always be set. Default to the queue-based |
| 381 * version for back-compatibility. |
381 * version for back-compatibility. |