On Tue, Nov 01, 2016 at 03:58:10PM +0100, Kamil Rytarowski wrote:
> Which one is preferred for NetBSD?

I'd go with neither, but base the new interface on FreeBSD's.
PT_GETLWPS takes as argument:

struct ptrace_getinfos_request {
  size_t allocated_lwps;
  size_t current_lwps;
  struct ptrace_lwpinfo[];
}

The caller provides allocated_lwps and promises that the buffer can hold
sizeof(ptrace_getinfos_request) + allocated_lwps * sizeof(ptrace_lwpinfo)
byte. The kernel writes up to allocated_lwps entries and sets
current_lwps to the current total number of lwps. The caller can then
easily check how many entries it has to allocate and maybe repeat the
request.

Joerg

Reply via email to