Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 01 Apr 2008 12:14:08 +0200
From:      =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
To:        Mel <fbsd.hackers@rachie.is-a-geek.net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Popen and EVFILT_WRITE question
Message-ID:  <868wzx287j.fsf@ds4.des.no>
In-Reply-To: <200803312145.39372.fbsd.hackers@rachie.is-a-geek.net> (Mel's message of "Mon\, 31 Mar 2008 21\:45\:38 %2B0200")
References:  <200803301220.39921.fbsd.hackers@rachie.is-a-geek.net> <86ve33wo1e.fsf@ds4.des.no> <200803312145.39372.fbsd.hackers@rachie.is-a-geek.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Mel <fbsd.hackers@rachie.is-a-geek.net> writes:
> Dag-Erling Sm=C3=B8rgrav <des@des.no> writes:
> > it will either read input or it won't, and what happens when it
> > reads depends entirely on what the fd it reads from is connected to,
> > whether it's a slow or fast device, blocking or non-blocking, etc.
> The kernel knows that the fd at the end of the pipe is blocked for
> reading.=20

I'm not sure what you mean by that; do you mean that it's sleeping in
read() or similar?  What if it uses select(), poll() or kqueue()
instead?

> Does it also know it's the end of a pipe and what's on the other end? Cau=
se=20
> it would be a cool filter to have, if you could detect a blocked child as=
 a=20
> parent. It sure is better then arbitrary timeouts (this code will run 'ma=
ke=20
> install' as a daemon(3) and write 'yes' on those nasty post-install quest=
ions=20
> in ports).

Many ports will simply use the default configuration instead of asking
if you build them with -DBATCH.  Those that don't should be fixed,
unless there is a very good reason (such as asking the user to accept a
license before installing).

You could also ask somebody in portmgr@ how the package-building cluster
deals with this.

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@des.no



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?868wzx287j.fsf>