You can import this changeset into BK by piping this whole message to: '| bk receive [path to repository]' or apply the patch as usual. =================================================================== ChangeSet@1.1422.1.7, 2003-11-13 01:11:54-02:00, acme@conectiva.com.br o TCP: use __sk_wait_data That basically is tcp_data_wait renamed and made useful for more protocols :-) tcp.c | 22 +--------------------- 1 files changed, 1 insertion(+), 21 deletions(-) diff -Nru a/net/ipv4/tcp.c b/net/ipv4/tcp.c --- a/net/ipv4/tcp.c Sat Nov 15 17:01:51 2003 +++ b/net/ipv4/tcp.c Sat Nov 15 17:01:51 2003 @@ -1367,26 +1367,6 @@ tcp_send_ack(sk); } -/* Now socket state including sk->sk_err is changed only under lock, - * hence we may omit checks after joining wait queue. - * We check receive queue before schedule() only as optimization; - * it is very likely that release_sock() added new data. - */ - -static long tcp_data_wait(struct sock *sk, long timeo) -{ - DEFINE_WAIT(wait); - - prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); - - set_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); - sk_wait_event(sk, &timeo, !skb_queue_empty(&sk->sk_receive_queue)); - clear_bit(SOCK_ASYNC_WAITDATA, &sk->sk_socket->flags); - - finish_wait(sk->sk_sleep, &wait); - return timeo; -} - static void tcp_prequeue_process(struct sock *sk) { struct sk_buff *skb; @@ -1662,7 +1642,7 @@ /* Do not sleep, just process backlog. */ sk_flush_backlog(sk); else - timeo = tcp_data_wait(sk, timeo); + __sk_wait_data(sk, &timeo); if (user_recv) { int chunk; =================================================================== This BitKeeper patch contains the following changesets: 1.1422.1.7 ## Wrapped with gzip_uu ## M'XL( !]XMC\ ]V4;V_3,!#&7\>?XJ1)B F2^!SG3X.*!AT"!!)5V5Y7CNV1 MJ$U+$]^3)^>ZGG,&UU7T9"-EJ<@8?C'5E($VG MI6NV(I*FC:K>!Q;&^$!R*(N0>,5<.%G#5O>V##!*'E;< M_4:7P>+=^^O/;Q:$3*7Y(%$A"HY:4<:+C)-=:A>'Z>^[)(B8^"MEZ8 \HRFY M!(R0,Q9AE --8L08$Z!8(I8I#RDK*86CSO "(:3D+?S;7U<% )VTBQ7M]#8\')S1@?E=#K3K1:@>@4M$+IG='- M[1IN3._?;DVO8=,;9Z196RC#<_()D*=%3N:/[2'A7QZ$4$')ZQ/5\-3$S6;+ M8Y]Q)'\OR20M!E8423'(7!:J4 J9JC2KJN/E/V+UJ[O(J7_DK!B)V]>=QNXI M*?Z!O:,IT@F=8,KXX">:CP"F_! ]3D^BQ_ _8>]'J[Y V-^-P[,T/^C:$VB\ MQ"2GWMO?9%D*2#[^G(,@V-_8<[MZ"<]9RA/R )'7:R^34P!0