/dev/cuad0: Device busy
Mark Andrews
Mark_Andrews at isc.org
Mon Feb 4 13:56:45 UTC 2008
> On Mon, Feb 04, 2008 at 02:08:32PM +0700, Eugene Grosbein wrote:
> > > Personally, I never understood the concept of "dial-in" and "call-out"
> > > devices on FreeBSD. I ran BBS software for years on both Apple II
> > > hardware and PC hardware; there was no distinction between such devices.
> > > A serial port is a serial port. Chances are I'm not understanding why
> > > there's a distinction, but there doesn't appear to be any explanation of
> > > why there's a distinction within manpages or the handbook...
> >
> > The distinction exists to allow an application to wait on the "dial-in"
> > port for incoming calls and another application to make outgoing call
> > mean time using the same port as "call-out" while the port is idle.
>
> This is intruiging to me, because now I'm left wondering how that
> actually works behind the scenes! :-)
>
> What happens when program X has /dev/ttyd0 open (for incoming calls),
> receives a call, and then during which program Y attempts to open
> /dev/cuad0? Does program Y indefinitely block/wait somewhere within the
> kernel until program X releases the fd?
open blocks until CD is asserted when /dev/cuad0 is not open.
> If so, then I'm left wondering why Ganbold's cu -l cuad0 attempt
> returned an immediate EBUSY, rather than blocking indefinitely.
EBUSY indicates that the open on /dev/ttyd0 completed.
> Also, the above mechanism must be fairly old, because I imagine it would
> be more effective to utilise kqueue/kevent to inform said programs of
> when the serial port is available for use.
Only about 20 years old.
> --
> | Jeremy Chadwick jdc at parodius.com |
> | Parodius Networking http://www.parodius.com/ |
> | UNIX Systems Administrator Mountain View, CA, USA |
> | Making life hard for others since 1977. PGP: 4BD6C0CB |
>
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: Mark_Andrews at isc.org
More information about the freebsd-stable
mailing list