summaryrefslogtreecommitdiffstats
path: root/3rdparty/openpgm-svn-r1135/pgm/receiver.c.rej
blob: bb4bac336c773f714e790aee4dcfdf9b23d5ad59 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
***************
*** 71,77 ****
  	pgm_assert (NULL != window);
  	pgm_assert (NULL != window->ack_backoff_queue.tail);
  
- 	const struct pgm_peer_t* peer = (const struct pgm_peer_t*)window->ack_backoff_queue.tail;
  	pgm_assert (peer->sock->use_pgmcc);
  	return peer->ack_rb_expiry;
  }
--- 71,79 ----
  	pgm_assert (NULL != window);
  	pgm_assert (NULL != window->ack_backoff_queue.tail);
  
+ 	const struct pgm_peer_t* peer = (const struct pgm_peer_t*)window->ack_backoff_queue.tail->data;
+ 	pgm_assert (NULL != peer);
+ 
  	pgm_assert (peer->sock->use_pgmcc);
  	return peer->ack_rb_expiry;
  }
***************
*** 416,421 ****
  					sock->ack_c_p);
  	peer->spmr_expiry = now + sock->spmr_expiry;
  
  /* add peer to hash table and linked list */
  	pgm_rwlock_writer_lock (&sock->peers_lock);
  	pgm_peer_t* entry = _pgm_peer_ref (peer);
--- 418,426 ----
  					sock->ack_c_p);
  	peer->spmr_expiry = now + sock->spmr_expiry;
  
+ /* Prepare ack_link */
+ 	peer->ack_link.data = peer;
+ 
  /* add peer to hash table and linked list */
  	pgm_rwlock_writer_lock (&sock->peers_lock);
  	pgm_peer_t* entry = _pgm_peer_ref (peer);