Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 09 Nov 2011 15:06:49 +0200
From:      Mikolaj Golub <trociny@freebsd.org>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-hackers@freebsd.org, Robert Watson <rwatson@freebsd.org>
Subject:   Re: "ps -e" without procfs(5)
Message-ID:  <864nydigwm.fsf@in138.ua3>
In-Reply-To: <20111109124455.GW50300@deviant.kiev.zoral.com.ua> (Kostik Belousov's message of "Wed, 9 Nov 2011 14:44:55 %2B0200")
References:  <20111031094948.GB50300@deviant.kiev.zoral.com.ua> <86vcr21agm.fsf@kopusha.home.net> <20111105135801.GT50300@deviant.kiev.zoral.com.ua> <86ehxmpogp.fsf@kopusha.home.net> <20111105154443.GB50300@deviant.kiev.zoral.com.ua> <86ehxmjsza.fsf@kopusha.home.net> <20111105194553.GK50300@deviant.kiev.zoral.com.ua> <8662iyjof9.fsf@kopusha.home.net> <20111106181041.GH50300@deviant.kiev.zoral.com.ua> <86r51iqoad.fsf@kopusha.home.net> <20111109124455.GW50300@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, 9 Nov 2011 14:44:55 +0200 Kostik Belousov wrote:

 KB> On Tue, Nov 08, 2011 at 11:47:54PM +0200, Mikolaj Golub wrote:
 >> 
 >> http://people.freebsd.org/~trociny/env.sys.4.patch
 >> 
 >> Investigating cases when EFAULT was returned and if the fallback was
 >> successful I noticed that most of the cases were when p->p_comm changed during
 >> the read, so the process was in exec in that time. In order to avoid this
 >> error I added a check for P_INEXEC flag.

 KB> And now you return success and nothing gets copied out for the process
 KB> in P_INEXEC state.

This looked ok for me: new arguments have not been created for the process
yet, so return nothing :-)

 KB> Either you should return an error like EAGAIN, or consider the P_INEXEC
 KB> state as transitional and wait till process leaves it. Or, ignore the
 KB> state as it was before, and return whatever error proc_rwmem generated
 KB> (my preference).

I prefer EAGAIN :-). Reading in the process space that is being currrently
updated does not look good for me. And EAGAIN gives a hint that if I try it
again I will probably get the result, while EFAULT looks mysterious.

-- 
Mikolaj Golub



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