diff options
author | cls%seawood.org <devnull@localhost> | 1999-09-21 19:43:28 +0000 |
---|---|---|
committer | cls%seawood.org <devnull@localhost> | 1999-09-21 19:43:28 +0000 |
commit | 4faf043ee54ebd049fcd1aa80b237f970580ea39 (patch) | |
tree | 67683cca91ed091184d21526519f58981b054166 | |
parent | 0434f2eda0e83e94a7f95eed98df4689f363cb58 (diff) | |
download | nspr-hg-unlabeled-3.5.24.tar.gz |
Sync'd with the HEAD branch again.unlabeled-3.5.24
-rw-r--r-- | pr/src/io/prmwait.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/pr/src/io/prmwait.c b/pr/src/io/prmwait.c index 98af028c..a3bd1576 100644 --- a/pr/src/io/prmwait.c +++ b/pr/src/io/prmwait.c @@ -1060,7 +1060,7 @@ PR_IMPLEMENT(PRStatus) PR_CancelWaitFileDesc(PRWaitGroup *group, PRRecvWait *des { PR_SetError(PR_INVALID_STATE_ERROR, 0); rv = PR_FAILURE; - goto stopping; + goto unlock; } #ifdef WINNT @@ -1072,7 +1072,7 @@ PR_IMPLEMENT(PRStatus) PR_CancelWaitFileDesc(PRWaitGroup *group, PRRecvWait *des if (NULL == bottom) { PR_SetError(PR_INVALID_ARGUMENT_ERROR, 0); - goto invalid_arg; + goto unlock; } bottom->secret->state = _PR_FILEDESC_CLOSED; #if 0 @@ -1089,7 +1089,7 @@ PR_IMPLEMENT(PRStatus) PR_CancelWaitFileDesc(PRWaitGroup *group, PRRecvWait *des { /* it was in the wait table */ _MW_DoneInternal(group, recv_wait, PR_MW_INTERRUPT); - goto found; + goto unlock; } if (!PR_CLIST_IS_EMPTY(&group->io_ready)) { @@ -1098,17 +1098,15 @@ PR_IMPLEMENT(PRStatus) PR_CancelWaitFileDesc(PRWaitGroup *group, PRRecvWait *des do { PRRecvWait *done = (PRRecvWait*)head; - if (done == desc) goto found; + if (done == desc) goto unlock; head = PR_NEXT_LINK(head); } while (head != &group->io_ready); } PR_SetError(PR_INVALID_ARGUMENT_ERROR, 0); rv = PR_FAILURE; -found: #endif -stopping: -invalid_arg: +unlock: PR_Unlock(group->ml); return rv; } /* PR_CancelWaitFileDesc */ |