From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by sourceware.org (Postfix) with ESMTPS id 54F64385E00C for ; Wed, 25 Mar 2020 19:38:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 54F64385E00C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gmx.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=n54@gmx.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1585165082; bh=+VghJMzSXVt1z1XfB6Khs5LeS3U2ryiSkbBjsG4pxpk=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=kjfcyx4zSA/nYq4YPZ7jBhYH7FH6WMyJzWCzQR+SKVElFpUI2fZ0n2pxTvtzWOwl8 MQY1PcVMgnPpG/zmHLFL4WQiYISUTed4k/MTCzDYBtY/E8WWpoGZuDc02JKVDNOiNh fW+0HRXMRt5GYdtx8/QUa/qpKlrOaOJYIgj7E1UY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([89.79.191.25]) by mail.gmx.com (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1N95e9-1jLkLN31XD-0169mK; Wed, 25 Mar 2020 20:38:02 +0100 From: Kamil Rytarowski To: gdb-patches@sourceware.org Subject: [PATCH] Implement nbsd_nat_target::thread_alive Date: Wed, 25 Mar 2020 20:36:46 +0100 Message-Id: <20200325193646.29248-1-n54@gmx.com> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:MUxhsrFQgYmzWfo6hI+ZYJorePvilIodmqu5D4grX7XD2K7MUrD idvchnoBYNWgzYE4CZmREU781ch3udBXkBCtvWfGXw0J+s1R04eoxzays9clZ53UZ4n70lp 5jRjXsuV3gAL91wyE50uE/IOE8+iwv8JPQzbPP0CNENiy3Zlt/rU3l36cadChAaIAD4Z9le i9sPYF5RobydHzCGowwHQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:/x7W74RqgJU=:VfvyVl4bXIC1VTMa5UyhUt vazmpQ2/Gx5XHTKWqxpRkSGMAaiRQdlVwOfVKGxdS2stwpeIBtW8IxXyYRkqNOPgUWc/Mi/9o WD0iIFAQflf940n5chKdQoxeaN1UIBn2owk6hNjVxv7Erosiy25YPQLS8az8kV9XXA1RIKTKL O3Emx8MtkM2M2j4+fYOg8sGplj+kbjDzpuhTkbwoq+2REK0HM4ggADoff9ddULLF52HeEBqfl VytzTzYyg8C7rwTyvhAgtsaCZnpHGnJcci29wR2waTlLEBeuFq5wEDY7MFiz1FPEs9dWQG0l7 pyowPRQ3Mb0xDJN+IwkiZ28Alg0Iy6v/UtmfB8J5N92Q0X+1LRMS8hdTC+EDpQ4elSGIccuTV mim5fXiptab9Ao6fxlABOxCu5UjQnAMolheqKn7sNswtyRqGIPGvSl6H6qC3A+V1uaPHS3VkW TkLDPH5LO2nDp6aQbCpkcDgyG+IpcTGMV64Q5k7fyphH62Ii0ewQHPvXormovfyH82A9w6TJt 8MsT81XfksgapHiDL6ZGvlDYZIQHEnVJU+AEJ30UA/dNjA1sLZqHbBl48oaHnVrk/z1noNcq9 hH7DzotU1HN35T4/EReqh4K6YrG2jgmEVz1rFu2XpKDaCeLkQR6JkUeKmgy2H/3cKjCuALeHb XAQu0qrXI1z9iP/yIMaosccWs+VfZjyk37FXow2EZdM+exxsmktLef7axYNkhqlFuNbf3lczh su7wNEzZt/MtluNaXe99l/WvAKqVPgHcIW0UaRHXpQAlip5qKlMbE1jlOt6vZO0Ck52KYECf7 P8YoTeGPmj7CDrlXpEtapEzFhpqKbP1NZWsbnsQnmdXONi+MOpPmHF1ABxnnIWqYW3+5q+KJt g/nvUNq/8Bt0BIwpElf7iyW2Eip0lxgiHLbpbdhwWIw3OmMVrKpiVaWtodHvxN+pNcFveuzD2 95W9/G7HpglUaD/GvEXFT1aQOEgw44LbKfMPXOVfT0Xhk6gk+PyPczn6xTf4sOjO2/0tGE0H/ 2FlUz+X25DfxaPwKrCTcB/GKZ3S7SHzpJfxPwQ0eA0tPO8KY9tyehyGAiDXqpK4rDJAVNEX1G N/QSc5Qieuji01OYXDZT832SznlJfJXL9ptCUHBBvINxnzD0nD9fb5HdZ4tC5mfLdQKXYbj8D tNFl4j3lcg40GKEF+Rve3735N8MdIrqqDIM56CwV/ydWDKF9Vz4qpADbtWFQdlhq9DGJM= X-Spam-Status: No, score=-33.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Mar 2020 19:38:06 -0000 gdb/ChangeLog: * nbsd-nat.h (nbsd_nat_target::thread_alive): Add. * nbsd-nat.c (nbsd_nat_target::thread_alive): Add. =2D-- gdb/ChangeLog | 5 +++++ gdb/nbsd-nat.c | 30 ++++++++++++++++++++++++++++++ gdb/nbsd-nat.h | 1 + 3 files changed, 36 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1ee58a541cb..d6789f4d7ca 100644 =2D-- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-03-25 Kamil Rytarowski + + * nbsd-nat.h (nbsd_nat_target::thread_alive): Add. + * nbsd-nat.c (nbsd_nat_target::thread_alive): Add. + 2020-03-25 Tom Tromey * compile/compile-object-load.c (get_out_value_type): Mention diff --git a/gdb/nbsd-nat.c b/gdb/nbsd-nat.c index 326bbe3aec3..aa0353309df 100644 =2D-- a/gdb/nbsd-nat.c +++ b/gdb/nbsd-nat.c @@ -39,3 +39,33 @@ nbsd_nat_target::pid_to_exec_file (int pid) return NULL; return buf; } + +bool +thread_alive (ptid_t ptid) +{ + pid_t pid =3D ptid.pid (); + int lwp =3D ptid.lwp (); + int mib[5] =3D {CTL_KERN, KERN_LWP, pid, sizeof (struct kinfo_lwp), 0}; + size_t size; + + if (sysctl (mib, 5, NULL, &size, NULL, 0) =3D=3D -1 || size =3D=3D 0) + perror_with_name (("sysctl")); + + mib[4] =3D size / sizeof (size_t); + + gdb::unique_xmalloc_ptr kl + ((struct kinfo_lwp *) xcalloc (size, 1)); + if (kl =3D=3D NULL) + perror_with_name (("calloc")); + + if (sysctl (mib, 5, kl.get (), &size, NULL, 0) =3D=3D -1 || size =3D=3D= 0) + perror_with_name (("sysctl")); + + for (size_t i =3D 0; i < size / sizeof (struct kinfo_lwp); i++) + { + if (kl.get ()[i].l_lid =3D=3D lwp) + return true; + } + + return false; +} diff --git a/gdb/nbsd-nat.h b/gdb/nbsd-nat.h index a752fbe572d..11b49427a44 100644 =2D-- a/gdb/nbsd-nat.h +++ b/gdb/nbsd-nat.h @@ -27,6 +27,7 @@ struct nbsd_nat_target : public inf_ptrace_target { char *pid_to_exec_file (int pid) override; + bool thread_alive (ptid_t ptid) override; }; #endif /* nbsd-nat.h */ =2D- 2.25.0