Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Aug 2012 13:44:14 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        "Jukka A. Ukkonen" <jau@oxit.fi>
Cc:        freebsd-standards@freebsd.org
Subject:   Re: standards/170346: Changes to support waitid() and related stuff
Message-ID:  <20120820104414.GK33100@deviant.kiev.zoral.com.ua>
In-Reply-To: <201208181010.q7IAABqP017818@freefall.freebsd.org>
References:  <201208181010.q7IAABqP017818@freefall.freebsd.org>

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

--bgLLobvf7eP6VP5c
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sat, Aug 18, 2012 at 10:10:11AM +0000, Jukka A. Ukkonen wrote:

Some my notes:

- the style requires tab after #define, not space, in particular,
  in sys/wait.h. Other style notes: there should be no space between
  () and variable for type cast, and space, not tab, between 'case'
  and case constant.

  You are adding uneccessary blank lines, esp. in the kern_wait6.

  The libc/gen/waitid.c shall be reformatted fully.

- you can reduce the namespace pollution by using struct __siginfo instead
  of siginfo_t in the new prototypes added into sys/wait.h.

- do not use the low syscall numbers for new syscalls, just add at the
  end of the table.

- you need to provide compat32 translation for new syscalls, see
  compat/freebsd32/syscalls.master as the starting point.

- the comment 'New siginfo stuff...' seems to not provide any useful
  information.

- I do not think we need to enumerate other OSes in comments which provide
  similar functionality. Just noting that resource usage is provided for
  both zombies and snapshotted for live process will be good.

- please wrap long line in kern_wait6.

- why do you zero siginfo in case of returning EINVAL from kern_wait6 ?
  Same question for assigning -1 to td_reval[0]. td_retval is ignored at all
  if error is indicated.

  There seems to be similar fragment for WNOHANG, why do you zero siginfo
  for the case when the process is not found ? Shouldn't the caller
  not to copy out the siginfo at all in this case ?

- in waitid.c, why do you even consider the case of ret != 0 or -1 ?
  How can it be ?

--bgLLobvf7eP6VP5c
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (FreeBSD)

iEYEARECAAYFAlAyFP4ACgkQC3+MBN1Mb4gYWACgyfnSJcg7g5ivfS5vDRzVdKIK
+g8AnA99Y0qkn+9wTFTBvYLoNIvahOKG
=+zTx
-----END PGP SIGNATURE-----

--bgLLobvf7eP6VP5c--



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