Date: Mon, 4 Feb 2008 05:10:20 -0800 From: Jeremy Chadwick <koitsu@FreeBSD.org> To: Eugene Grosbein <eugen@kuzbass.ru> Cc: Ganbold <ganbold@micom.mng.net>, FreeBSD Stable Mailing List <freebsd-stable@freebsd.org> Subject: Re: /dev/cuad0: Device busy Message-ID: <20080204131020.GA5830@eos.sc1.parodius.com> In-Reply-To: <20080204070832.GA97372@svzserv.kemerovo.su> References: <47A69A66.2080109@micom.mng.net> <20080204063023.GA91789@eos.sc1.parodius.com> <47A6B2AB.2060308@micom.mng.net> <20080204065122.GA92674@eos.sc1.parodius.com> <20080204070832.GA97372@svzserv.kemerovo.su>
next in thread | previous in thread | raw e-mail | index | archive | help
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? If so, then I'm left wondering why Ganbold's cu -l cuad0 attempt returned an immediate EBUSY, rather than blocking indefinitely. 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. -- | 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 |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080204131020.GA5830>