summaryrefslogtreecommitdiffstats
path: root/c/src/exec/libnetworking/rtems
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-06-11 14:06:13 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-06-11 14:06:13 +0000
commit0643693198997149e85ece0675d3cf47401ae819 (patch)
treeb5476e50c413844f0d4e9b81c9988f9064b9604c /c/src/exec/libnetworking/rtems
parentAdded information on pathname evaluation. (diff)
downloadrtems-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 'c/src/exec/libnetworking/rtems')
-rw-r--r--c/src/exec/libnetworking/rtems/rtems_select.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/c/src/exec/libnetworking/rtems/rtems_select.c b/c/src/exec/libnetworking/rtems/rtems_select.c
index 972bf2d650..2219c145f3 100644
--- a/c/src/exec/libnetworking/rtems/rtems_select.c
+++ b/c/src/exec/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;