summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/pcaudio.c
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>1994-09-29 21:11:29 +0000
committersos <sos@FreeBSD.org>1994-09-29 21:11:29 +0000
commitc438251e56a750d87131573f2811a96a77747801 (patch)
treea2216ddfe2f39eef1f720fc592750611eadbb5be /sys/i386/isa/pcaudio.c
parentbc1378c899feed3395ae56bf6006a483d7d9ab92 (diff)
downloadFreeBSD-src-c438251e56a750d87131573f2811a96a77747801.zip
FreeBSD-src-c438251e56a750d87131573f2811a96a77747801.tar.gz
Oops, forgot one patch for the changed selwakeup, fixed.
Diffstat (limited to 'sys/i386/isa/pcaudio.c')
-rw-r--r--sys/i386/isa/pcaudio.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/sys/i386/isa/pcaudio.c b/sys/i386/isa/pcaudio.c
index 489b968..a6bc57f 100644
--- a/sys/i386/isa/pcaudio.c
+++ b/sys/i386/isa/pcaudio.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: pcaudio.c,v 1.7 1994/09/16 13:33:47 davidg Exp $
+ * $Id: pcaudio.c,v 1.8 1994/09/29 08:24:43 sos Exp $
*/
#include "pca.h"
@@ -63,8 +63,7 @@ static struct pca_status {
char current; /* current buffer */
unsigned char oldval; /* old timer port value */
char timer_on; /* is playback running */
- char coll; /* select collision */
- pid_t wsel; /* pid of select'ing proc */
+ struct selinfo wsel; /* select status */
} pca_status;
static char buffer1[BUF_SIZE];
@@ -393,10 +392,10 @@ pcaintr(int regs)
wakeup((caddr_t)&pca_sleep);
pca_sleep = 0;
}
- if (pca_status.wsel) {
- selwakeup(pca_status.wsel, pca_status.coll);
- pca_status.wsel = 0;
- pca_status.coll = 0;
+ if (pca_status.wsel.si_pid) {
+ selwakeup((struct selinfo *)&pca_status.wsel.si_pid);
+ pca_status.wsel.si_pid = 0;
+ pca_status.wsel.si_flags = 0;
}
}
}
@@ -415,11 +414,11 @@ pcaselect(dev_t dev, int rw, struct proc *p)
splx(s);
return(1);
}
- if (pca_status.wsel && (p1 = pfind(pca_status.wsel))
+ if (pca_status.wsel.si_pid && (p1=pfind(pca_status.wsel.si_pid))
&& p1->p_wchan == (caddr_t)&selwait)
- pca_status.coll = 1;
+ pca_status.wsel.si_flags = SI_COLL;
else
- pca_status.wsel = p->p_pid;
+ pca_status.wsel.si_pid = p->p_pid;
splx(s);
return 0;
default:
OpenPOWER on IntegriCloud