diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-06-11 14:06:13 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-06-11 14:06:13 +0000 |
commit | 0643693198997149e85ece0675d3cf47401ae819 (patch) | |
tree | b5476e50c413844f0d4e9b81c9988f9064b9604c /c/src/lib/libnetworking/rtems/rtems_select.c | |
parent | Added information on pathname evaluation. (diff) | |
download | rtems-0643693198997149e85ece0675d3cf47401ae819.tar.bz2 |
Patch from Eric Norum <eric@cls.usask.ca> to fix bug reported by
Ian Lance Taylor <ian@airs.com>:
Ian Lance Taylor wrote:
>
> In rtems-19990528, sbwait sets SB_WAIT in sb_flags. sowakeup checks
> it. Why doesn't socket_select set it?
>
> I don't know that this is a bug--I haven't tried to create a test
> case. However, it certainly looks odd.
>
> Ian
Yes, there's a bug there. Sorry about that.
It was introduced when I did some cleanup on the sleep/wakeup handling
in rtems_glue.c.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libnetworking/rtems/rtems_select.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/c/src/lib/libnetworking/rtems/rtems_select.c b/c/src/lib/libnetworking/rtems/rtems_select.c index 972bf2d650..2219c145f3 100644 --- a/c/src/lib/libnetworking/rtems/rtems_select.c +++ b/c/src/lib/libnetworking/rtems/rtems_select.c @@ -56,12 +56,14 @@ socket_select (struct socket *so, int which, rtems_id tid) case FREAD: if (soreadable(so)) return (1); + so->so_rcv.sb_flags |= SB_WAIT; so->so_rcv.sb_sel.si_pid = tid; break; case FWRITE: if (sowriteable(so)) return (1); + so->so_rcv.sb_flags |= SB_WAIT; so->so_snd.sb_sel.si_pid = tid; break; |