Mercurial > mplayer.hg
view libdha/sysdep/pci_freebsd.c @ 13872:8b810ed6e543
fix "stuck mouse button" by setting O_NONBLOCK, instead of using select() to check write() blocking on pipe.
Marius Gedminas have located the bug as send original patch. Modified version by me.
author | iive |
---|---|
date | Fri, 05 Nov 2004 04:13:25 +0000 |
parents | 1faf2566907b |
children | 806cd20f1c8f |
line wrap: on
line source
/* This file is based on: $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $ Modified for readability by Nick Kurshev */ #include <errno.h> #include <sys/file.h> /* machine/console.h seems to be outdated by recent FreeBSD * * however pcvt_ioctl.h seems to exist for very long time */ /* #include <machine/console.h>*/ #include <machine/pcvt_ioctl.h> #ifndef GCCUSESGAS #define GCCUSESGAS #endif static int io_fd; static __inline__ int enable_os_io(void) { io_fd = -1 ; if ((io_fd = open("/dev/console", O_RDWR, 0)) < 0) { perror("/dev/console"); return(errno); } if (ioctl(io_fd, KDENABIO, 0) < 0) { perror("ioctl(KDENABIO)"); return(errno); } return(0); } static __inline__ int disable_os_io(void) { if (ioctl(io_fd, KDDISABIO, 0) < 0) { perror("ioctl(KDDISABIO)"); close(io_fd); return(errno); } close(io_fd); return(0); }