> 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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "[EMAIL PROTECTED]"
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: [EMAIL PROTECTED]
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to