summaryrefslogtreecommitdiffstats
path: root/otherlibs/threads/scheduler.c
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1996-04-29 16:56:51 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1996-04-29 16:56:51 +0000
commitfaa0ecf942daba26bc9080517f0d65175cecb021 (patch)
treebf1d59c5add468d26854753c6820ef8b8032e780 /otherlibs/threads/scheduler.c
parent749243ef86296b949b12f74ec5df07fe8dd79b2b (diff)
Erreur de poteaux dans outchan_ready.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@779 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/threads/scheduler.c')
-rw-r--r--otherlibs/threads/scheduler.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/otherlibs/threads/scheduler.c b/otherlibs/threads/scheduler.c
index ba01f9137..b1620580d 100644
--- a/otherlibs/threads/scheduler.c
+++ b/otherlibs/threads/scheduler.c
@@ -410,7 +410,11 @@ value thread_outchan_ready(chan, vsize) /* ML */
if (size < 0) {
return Val_bool(chan->curr == chan->buff);
} else {
- return Val_bool(chan->curr + size <= chan->end);
+ int free = chan->end - chan->curr;
+ if (chan->curr == chan->buff)
+ return Val_bool(size < free);
+ else
+ return Val_bool(size <= free);
}
}