From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2086.outbound.protection.outlook.com [40.107.22.86]) by sourceware.org (Postfix) with ESMTPS id 92B673858435 for ; Thu, 8 Sep 2022 14:07:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 92B673858435 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=nLdHi6TiQow4uSEtllvEbm99Hbdg8z4wF/clynmwTuTKfn+IXY0OKM5PLbKu/Ln3BdvO/fqfe3UaXr3xAAydK93rj/SQ+j928hIhlQRClV6dE3SX/W8MdbiH4jhbxsc22RV+0HJM+POx/pGRv6JQmWVH7SEYTRFyPtsL/f5U4Z/j6/5kH+DRxY1U72Od07lzU2TmbYuAsZP5mCTqpMfaUXTwat5DORoINvOhz54UzwSqoBLKMYVdo47IhYc1P7dv6JD1ysJSAxF9YnJNdR4lOB8BeXnwmoEGCfxpJFhWGmhi4Hs73zlgInvpR3FV2nOXZrw3qMEjtkElHqyj3dppbg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=87GrRneE2PVhhjjFy15d3uXOtsxuZeF9dfqH9w/fBT8=; b=BsOeyZyY+36yZ+38qsC7M4uYXF+hztIneIJ/iqMV7iSBs7Hzd8ch1BJGB9KmkdZa9O5zziFAX0Ca4QcKiEb4ngcW19klsn/PWVyJy8h2I2ZoYsQrtj3k485kAFtn/KhXuq1/t3v/kt/E5DkjV6lvVkspaKh83b88dY3XQ2y8m670zgaJ9ONXCRQIJvtmi3nn4yAJ6ERu9oLkj8cg1NoDgzWLJio0lk1/Ze6ogcX6LbEX1kB1hQvguiw0PA1xhnvd6yPWQEAZj0KWQZ0QROwfyEJfEZZ9HyzZiYuZRRuWs+DsHHEEq+bhrV9/UdS2HOUWK9lGdlZkEKCkMSYZ+fPr2A== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=87GrRneE2PVhhjjFy15d3uXOtsxuZeF9dfqH9w/fBT8=; b=u8qkKKvp9WViVqQE5OtbFkFlaHZuoc308Mqu1sPceHK95oJpOuedaWBFtbRrtRqZHzwd2OhG3jt2kgDPiO/q/pNsKvPNA9g15x6WK5JPC4oBusN4EaJatu+xBzEdvGglWvc5u4SdZU845w+eLQfKeV5e78+dN/UryTSH1sLFvnM= Received: from AM6PR04CA0009.eurprd04.prod.outlook.com (2603:10a6:20b:92::22) by PAXPR08MB6559.eurprd08.prod.outlook.com (2603:10a6:102:df::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.14; Thu, 8 Sep 2022 14:07:06 +0000 Received: from VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:92:cafe::dd) by AM6PR04CA0009.outlook.office365.com (2603:10a6:20b:92::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.18 via Frontend Transport; Thu, 8 Sep 2022 14:07:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT036.mail.protection.outlook.com (10.152.19.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.13 via Frontend Transport; Thu, 8 Sep 2022 14:07:05 +0000 Received: ("Tessian outbound 6a3290ff1310:v123"); Thu, 08 Sep 2022 14:07:05 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 84e20ec064238edc X-CR-MTA-TID: 64aa7808 Received: from a089acc2477b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 5A982804-042A-4D28-9EB8-315B0E98D1F5.1; Thu, 08 Sep 2022 14:06:58 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a089acc2477b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 08 Sep 2022 14:06:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MsSZwhHKlpICD//dSlZ5B23qI7ePalhJmNx6LTjffMK1+1ZkzxU/JbnWMnlvOQaYn8xF/I9wQQEUdLGgRBYmEhWLSCExU5iAOaCLRHwQx+jnYaRTyMvz9SN+tWsAsNqB9GZN8VPwsGt812L7WSznfjU+neZF5h8MnNtZjPvSOJExXUmPXes8AhtXk+spSXXXe6eLe9xau4pdvOZOEIVTZNRsV5Eh9FFvoM6nkPF5YOUZKoNJMhYpm5+/b2PV2rerYgcwDJiZ9yCA1ZEV81+IiykIX0BjRpgy0R9koLz/Umc7q9AN1cSQJk5PSMU5lyrGlysMdVJdkv/gWenebSG9Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=87GrRneE2PVhhjjFy15d3uXOtsxuZeF9dfqH9w/fBT8=; b=fFH3vVfNuzxm3tBDkKsnLHlxTdKe1Y+hgZPe10zAWFIPdlpyoUB0ez0ISMtES8o3HTn/2Ax15stEykX6SoPU/sogKVMV4ZPWu1HJD7AUbFDHeD8ebLoXoh0yYPI7Hm5T4DsVAGbumjDyppTntOhNyQijU1cZWwGDoN4dA1xiN5UhHpM4w1rkGVllhozRZ03R0bDR+qazQ0J/JEoyT37elj2InUJU+eq4F8B1w9VoyXLVBXD3kYf7VXf0lao0z/ND28ad1+GXXhnF+Rlqz4TMQF0/rXr+PUgs3C+glYzPPq+dyOOt2vN4tk3mTnrYihTuA03TESakjKR3vrPXMI2dYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=87GrRneE2PVhhjjFy15d3uXOtsxuZeF9dfqH9w/fBT8=; b=u8qkKKvp9WViVqQE5OtbFkFlaHZuoc308Mqu1sPceHK95oJpOuedaWBFtbRrtRqZHzwd2OhG3jt2kgDPiO/q/pNsKvPNA9g15x6WK5JPC4oBusN4EaJatu+xBzEdvGglWvc5u4SdZU845w+eLQfKeV5e78+dN/UryTSH1sLFvnM= Received: from AS4PR08MB7901.eurprd08.prod.outlook.com (2603:10a6:20b:51c::16) by DU0PR08MB7905.eurprd08.prod.outlook.com (2603:10a6:10:3b3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.12; Thu, 8 Sep 2022 14:06:54 +0000 Received: from AS4PR08MB7901.eurprd08.prod.outlook.com ([fe80::d11d:77d0:c2fb:f11a]) by AS4PR08MB7901.eurprd08.prod.outlook.com ([fe80::d11d:77d0:c2fb:f11a%5]) with mapi id 15.20.5612.014; Thu, 8 Sep 2022 14:06:54 +0000 From: Wilco Dijkstra To: 'GNU C Library' CC: Adhemerval Zanella Subject: [PATCH] Use C11 atomics instead atomic_decrement_and_test Thread-Topic: [PATCH] Use C11 atomics instead atomic_decrement_and_test Thread-Index: AQHYw4wGPP2u7at5Q0WaojjkgK7/Zw== Date: Thu, 8 Sep 2022 14:06:54 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AS4PR08MB7901:EE_|DU0PR08MB7905:EE_|VE1EUR03FT036:EE_|PAXPR08MB6559:EE_ X-MS-Office365-Filtering-Correlation-Id: 2274c5d5-2314-45df-f8a1-08da91a3694a x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: aKP5v5oFoOu9mYIYdETtIc37jw8CqsVWzPKYTi8y6sRaIc/GWER4ISV/BwIrlttL0jqK5deEKTxeFBLmplf2ahnlU8vEsSM5at7edCQsFFGb5StrtOQww8p7sjXcmAZl8RGHeNxVX0ZO8EuHL/75SI84a1ctiCDotW8clrysSnNT+P9LJLZ65kslSyWhJPZ9j5LfrjlytoII7z+Oobh6H6KqY/0X4xFt/1fMabWQuhEMYcLvkc83x3wV+YX1qBEAJrqygYAvWApNoSbNBadaPFu70cSylrMJQCeYX2W+7mQQdgJVii8+UdlcZXfJIg+0Yp4RKkm+cAMyDUMGUcfJAUV2DJyOTWdv8WXd+xm2G983W+64Z5aMlsncnYzaUUMeVoS7Dk+Mi9GcsjcYbtBEI6rtvHnLjnaacigBfqr/xoA+GBuFq+7EKsYCrcYBZ46L4YKAD4HEHWDnRfILx95LT1pGV9SzsMSzNpsPSX5glPiC1yKiMeNj9dqVMDbfXHF/a8hwxba0/udO0JvWPW/TU0usdzA2HDKew0C37mdutjbgQDoCSVxqdeNzcbjbJWjdh1Cyq9+UAxAzgxbj2ZjXL+S3Mj/qgVIPkqXGwPSnSmSYzFA3voQ1diHCS1Ur6g3lm6sTGmTPeDtUsheXjyt5A23wmTpq+2onqy0hlYtT3iCNhdICmIOpPkU/o2lSLZbVLa3qYZmKDXuhBcQ0OmnkJbjdWA/IHFBEmSAlhCPN5MKA+d5HljwMD6f870a+eIlt6uXFSC6O8yHS1fjqqMhGmA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR08MB7901.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(39860400002)(136003)(376002)(366004)(9686003)(71200400001)(478600001)(6506007)(7696005)(41300700001)(8676002)(4326008)(316002)(66556008)(5660300002)(6916009)(66476007)(76116006)(64756008)(91956017)(66946007)(66446008)(26005)(83380400001)(8936002)(86362001)(33656002)(2906002)(38100700002)(52536014)(38070700005)(186003)(55016003)(122000001);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7905 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 85e6bb23-5674-4018-2b39-08da91a36255 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QtBxzJuV+dRKXycxwhVfCIs7TPEZtEKr+jb764KtD0pj/JSNwT7ekv1QqmJ+mJvLmu1S/Nk8vkXncQLbJ30GKnegNraTZMpg02FLDsyt9TuWY3JIw1n9H2CHW4wzwfhx56AScO+eFMLwnN+sdU/5MVryM1b/i8XNLUXJSURqB3Sx1BpO7lD+MFOkUxon74GFEtfYEFmnRdGkfaiZIUfaObfbblOFrJPm41N2cvQmpn90zms3MPXeB3diUB3nAylFz9mOOnyB1Q8EJb8BNRi+umQvykxgLYXUN/WrZ2tDeTYwBYC5x6xLEjy2x5c7IV8aNI44S4cEJluxKqhN/mmlxETOeZUjPNdXf3YUxwOzWr0CX083fUPqtsORK0yClNmZXNNVM7Agpxmlh3kCZ7KiVhG+F5JVfnduLGX19Bwn93aSXeBgrx2tqrwt9EOP4thyfIfhZkU83cKHvZva8y+Pzit72NqcUhk+7Z3k3Q+WQKYFxzYdKfEAvvQAIAvPhma1G/idB/LhEYkT2wRareBYDDqu2y+xpMXYgi3mKsx4HbzI6VecBbNsQ9IXZ5EJ5d83BmjWvIq89DR1JvAbZxHNkjt1SoA+sRHgDQkuvTcMXG0XGIZI1Xq+IfH5QU1JmvxigBsCJtozGqFN4jxhINjuHAa2qcLxRrcnPiW9jiCPieU2itjX9bDDsd3109xWVR1j3Fknq44MgbN8TAxgZn8ikaYVUtYlC3tvlIaPMnBdAT7YU4db4RztlLRvuMUfp8328xKfRVeeNpP55kdTQNaJog== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(376002)(136003)(396003)(346002)(39860400002)(46966006)(40470700004)(36840700001)(36860700001)(83380400001)(336012)(186003)(82740400003)(316002)(26005)(86362001)(47076005)(9686003)(6916009)(41300700001)(40480700001)(55016003)(81166007)(107886003)(7696005)(6506007)(82310400005)(478600001)(40460700003)(356005)(70586007)(8936002)(33656002)(70206006)(5660300002)(52536014)(2906002)(4326008)(8676002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2022 14:07:05.7470 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2274c5d5-2314-45df-f8a1-08da91a3694a X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT036.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6559 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_LOTSOFHASH,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Replace atomic_decrement_and_test with atomic_fetch_add_relaxed.=0A= =0A= Passes regress on AArch64.=0A= =0A= ---=0A= =0A= diff --git a/htl/pt-dealloc.c b/htl/pt-dealloc.c=0A= index c776e3471dc376977ca7058f0d143f0a842d5799..86bbb3091fbd3758b06294ca705= dc774cf8bf0eb 100644=0A= --- a/htl/pt-dealloc.c=0A= +++ b/htl/pt-dealloc.c=0A= @@ -33,7 +33,7 @@ extern pthread_mutex_t __pthread_free_threads_lock;=0A= void=0A= __pthread_dealloc (struct __pthread *pthread)=0A= {=0A= - if (!atomic_decrement_and_test (&pthread->nr_refs))=0A= + if (atomic_fetch_add_relaxed (&pthread->nr_refs, -1) !=3D 1)=0A= return;=0A= =0A= /* Withdraw this thread from the thread ID lookup table. */=0A= diff --git a/htl/pt-exit.c b/htl/pt-exit.c=0A= index f0759c8738e6da4c8e0ba47f6d15720203f6954e..3c0a8c52f34ed64b94ce71a0764= 512cb76351a3a 100644=0A= --- a/htl/pt-exit.c=0A= +++ b/htl/pt-exit.c=0A= @@ -50,7 +50,7 @@ __pthread_exit (void *status)=0A= =0A= /* Decrease the number of threads. We use an atomic operation to=0A= make sure that only the last thread calls `exit'. */=0A= - if (atomic_decrement_and_test (&__pthread_total))=0A= + if (atomic_fetch_add_relaxed (&__pthread_total, -1) =3D=3D 1)=0A= /* We are the last thread. */=0A= exit (0);=0A= =0A= diff --git a/manual/llio.texi b/manual/llio.texi=0A= index 4e6e3fb672bb8ecbb1bb52faf3d70d9b7b33973f..eba9a0e6593f17116b41ff302cf= ca05846727155 100644=0A= --- a/manual/llio.texi=0A= +++ b/manual/llio.texi=0A= @@ -2614,7 +2614,7 @@ aiocb64}, since the LFS transparently replaces the ol= d interface.=0A= @c free @ascuheap @acsmem=0A= @c libc_thread_freeres=0A= @c libc_thread_subfreeres ok=0A= -@c atomic_decrement_and_test ok=0A= +@c atomic_fetch_add_relaxed ok=0A= @c td_eventword ok=0A= @c td_eventmask ok=0A= @c atomic_compare_exchange_bool_acq ok=0A= diff --git a/nptl/cond-perf.c b/nptl/cond-perf.c=0A= index 9c9488e2743f17eb4beeaadf45ef83a38a9f9bf9..baf69e6d34fdb3ffef97b32fb9d= b422077a0359b 100644=0A= --- a/nptl/cond-perf.c=0A= +++ b/nptl/cond-perf.c=0A= @@ -24,7 +24,7 @@ cons (void *arg)=0A= =0A= do=0A= {=0A= - if (atomic_decrement_and_test (&ntogo))=0A= + if (atomic_fetch_add_relaxed (&ntogo, -1) =3D=3D 1)=0A= {=0A= pthread_mutex_lock (&mut2);=0A= alldone =3D true;=0A= diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c=0A= index 2602dba54e872f36bd54955af7587378e5dc3812..ada3fdd4d440c3fdcf4567734a4= 52c8ba4d0fce1 100644=0A= --- a/nptl/pthread_create.c=0A= +++ b/nptl/pthread_create.c=0A= @@ -489,7 +489,7 @@ start_thread (void *arg)=0A= the breakpoint reports TD_THR_RUN state rather than TD_THR_ZOMBIE. *= /=0A= atomic_fetch_or_relaxed (&pd->cancelhandling, EXITING_BITMASK);=0A= =0A= - if (__glibc_unlikely (atomic_decrement_and_test (&__nptl_nthreads)))=0A= + if (__glibc_unlikely (atomic_fetch_add_relaxed (&__nptl_nthreads, -1) = =3D=3D 1))=0A= /* This was the last thread. */=0A= exit (0);=0A= =0A= diff --git a/sysdeps/nptl/libc_start_call_main.h b/sysdeps/nptl/libc_start_= call_main.h=0A= index a9e85f2b098dfc6790d719bba9662e428ab237e6..c10a16b2c4a61e74f6bf1839693= 5b87208df4f7e 100644=0A= --- a/sysdeps/nptl/libc_start_call_main.h=0A= +++ b/sysdeps/nptl/libc_start_call_main.h=0A= @@ -65,7 +65,7 @@ __libc_start_call_main (int (*main) (int, char **, char *= * MAIN_AUXVEC_DECL),=0A= /* One less thread. Decrement the counter. If it is zero we=0A= terminate the entire process. */=0A= result =3D 0;=0A= - if (! atomic_decrement_and_test (&__nptl_nthreads))=0A= + if (atomic_fetch_add_relaxed (&__nptl_nthreads, -1) !=3D 1)=0A= /* Not much left to do but to exit the thread, not the process. *= /=0A= while (1)=0A= INTERNAL_SYSCALL_CALL (exit, 0);=0A= =0A=