diff options
author | carlsonj <none@none> | 2007-03-07 09:58:36 -0800 |
---|---|---|
committer | carlsonj <none@none> | 2007-03-07 09:58:36 -0800 |
commit | 4c06cebaab828bdb4d928a3a8ad3baf973b3e1a3 (patch) | |
tree | 661e4ccacdf5347a2378e7654bbb1f725d149c98 /usr | |
parent | c086188084d52441b174441b900373b9916d467b (diff) | |
download | illumos-gate-4c06cebaab828bdb4d928a3a8ad3baf973b3e1a3.tar.gz |
6479968 TCP connections over loopback misorder user data on squeue reentry
Diffstat (limited to 'usr')
-rw-r--r-- | usr/src/uts/common/inet/squeue.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr/src/uts/common/inet/squeue.c b/usr/src/uts/common/inet/squeue.c index 0947b26268..4895e2249e 100644 --- a/usr/src/uts/common/inet/squeue.c +++ b/usr/src/uts/common/inet/squeue.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -882,7 +882,7 @@ squeue_enter(squeue_t *sqp, mblk_t *mp, sqproc_t proc, void *arg, * of stack getting blown with multiple traversal. */ if (!(sqp->sq_state & SQS_REENTER) && - (sqp->sq_run == curthread) && + (sqp->sq_run == curthread) && sqp->sq_first == NULL && (((conn_t *)arg)->conn_on_sqp == B_FALSE)) { sqp->sq_state |= SQS_REENTER; mutex_exit(&sqp->sq_lock); @@ -1027,7 +1027,7 @@ squeue_enter_nodrain(squeue_t *sqp, mblk_t *mp, sqproc_t proc, void *arg, * of stack getting blown with multiple traversal. */ if (being_processed && !(sqp->sq_state & SQS_REENTER) && - (sqp->sq_run == curthread) && + (sqp->sq_run == curthread) && sqp->sq_first == NULL && (((conn_t *)arg)->conn_on_sqp == B_FALSE)) { sqp->sq_state |= SQS_REENTER; mutex_exit(&sqp->sq_lock); |