[Toybox] [PATCH] macOS: move struct sysinfo out of GLOBALS.

enh enh at google.com
Fri Nov 30 14:41:37 PST 2018


On Fri, Nov 30, 2018 at 2:37 PM Rob Landley <rob at landley.net> wrote:
>
>
>
> On 11/30/18 3:11 PM, enh via Toybox wrote:
> > Even if we don't build ps, we can't have a Linux-only struct in GLOBALS.
> > The obvious alternative to this would be to have a fake struct sysinfo
> > in lib/portability.h. Since having a real macOS replacement for
> > sysinfo(2) seems unlikely at this point, I went this route instead.
> > ---
> >  toys/posix/ps.c | 22 ++++++++++++----------
> >  1 file changed, 12 insertions(+), 10 deletions(-)
> >
> > diff --git a/toys/posix/ps.c b/toys/posix/ps.c
> > index 833ecabe..b0cf78b0 100644
> > --- a/toys/posix/ps.c
> > +++ b/toys/posix/ps.c
> > @@ -207,7 +207,6 @@ GLOBALS(
> >      } pgrep;
> >    };
> >
> > -  struct sysinfo si;
> >    struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU;
> >    struct dirtree *threadparent;
> >    unsigned width, height;
> > @@ -261,12 +260,13 @@ enum {
> >   SLOT_gtime,    /*guest jiffies of task*/ SLOT_cgtime,    // gtime+child
> >   SLOT_startbss, /*data/bss address*/      SLOT_endbss,    // end addr data+bss
> >   SLOT_upticks,  /*uptime-starttime*/      SLOT_argv0len,  // argv[0] length
> > - SLOT_uptime,   /*si.uptime @read time*/  SLOT_vsz,       // Virtual mem Size
> > - SLOT_shr,      /*Shared memory*/         SLOT_pcy,       // Android sched pol
> > - SLOT_rchar,    /*All bytes read*/        SLOT_wchar,     // All bytes written
> > - SLOT_rbytes,   /*Disk bytes read*/       SLOT_wbytes,    // Disk bytes written
> > - SLOT_swap,     /*Swap pages used*/       SLOT_bits,      // 32 or 64
> > - SLOT_tid,      /*Thread ID*/             SLOT_tcount,    // Thread count
> > + SLOT_uptime,   /*si.uptime @read time*/  SLOT_totalram,  //
> > si.totalram @read time
> > + SLOT_vsz,      /*Virtual mem Size*/      SLOT_shr,       // Shared memory
> > + SLOT_pcy,      /*Android sched pol*/     SLOT_rchar,     // All bytes read
> > + SLOT_wchar,    /*All bytes written*/     SLOT_rbytes,    // Disk bytes read
> > + SLOT_wbytes,   /*Disk bytes written*/    SLOT_swap,      // Swap pages used
> > + SLOT_bits,     /*32 or 64*/              SLOT_tid,       // Thread ID
> > + SLOT_tcount,   /*Thread count*/
>
> I need to add a comment in that list where we stop populating that from
> /proc/$PID/stat and start just adding new fields to the end. (You inserted and
> moved stuff and I went "um...".)

yeah, i did wonder about that. i wanted to keep it next to its
sysinfo(2) friend.

> Just looked it up, and the last one from stat is SLOT_endbss. So this is all
> after that and can move freely. Ok then.
>
> Rob



More information about the Toybox mailing list