687c730,738 < --- linux.ctx/include/net/tcp.h Sun Nov 10 05:31:02 2002 --- > --- linux.ctx/include/net/tcp.h Sun Nov 10 14:24:15 2002 > *************** > *** 77,80 **** > --- 77,81 ---- > unsigned short port; > signed short fastreuse; > + unsigned int context; > struct tcp_bind_bucket *next; > struct sock *owners; 690c741 < --- 191,195 ---- --- > --- 192,196 ---- 2330c2389,2432 < --- linux.ctx/net/ipv4/tcp_ipv4.c Fri Nov 1 14:20:51 2002 --- > --- linux.ctx/net/ipv4/tcp_ipv4.c Mon Nov 11 18:30:22 2002 > *************** > *** 134,137 **** > --- 134,138 ---- > tb->fastreuse = 0; > tb->owners = NULL; > + tb->context = current -> s_context -> id; > if((tb->next = head->chain) != NULL) > tb->next->pprev = &tb->next; > *************** > *** 205,208 **** > --- 206,210 ---- > struct tcp_bind_bucket *tb; > int ret; > + unsigned int ctx = current -> s_context; > > local_bh_disable(); > *************** > *** 221,225 **** > spin_lock(&head->lock); > for (tb = head->chain; tb; tb = tb->next) > ! if (tb->port == rover) > goto next; > break; > --- 223,228 ---- > spin_lock(&head->lock); > for (tb = head->chain; tb; tb = tb->next) > ! if( (tb->port == rover) && > ! (tb->context == ctx) ) > goto next; > break; > *************** > *** 244,248 **** > spin_lock(&head->lock); > for (tb = head->chain; tb != NULL; tb = tb->next) > ! if (tb->port == snum) > break; > } > --- 247,251 ---- > spin_lock(&head->lock); > for (tb = head->chain; tb != NULL; tb = tb->next) > ! if( (tb->port == snum) && (tb->context == ctx) ) > break; > }