From owner-freebsd-questions@freebsd.org Wed Jan 10 13:49:44 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F352E9C8CA; Wed, 10 Jan 2018 13:49:44 +0000 (UTC) (envelope-from yuripv@gmx.com) Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B9A6D75628; Wed, 10 Jan 2018 13:49:43 +0000 (UTC) (envelope-from yuripv@gmx.com) Received: from [192.168.1.2] ([94.233.224.65]) by mail.gmx.com (mrgmx001 [212.227.17.184]) with ESMTPSA (Nemesis) id 0LoEwL-1f6eVL396P-00gK08; Wed, 10 Jan 2018 14:49:35 +0100 Subject: Re: where to find exit(int) function implementation To: Matthias Apitz , Vitalio D Cc: freebsd-questions@freebsd.org, owner-freebsd-questions@freebsd.org References: <59cdf69e792d5c723fa919abac1d67b6@webmail.1blu.de> From: Yuri Pankov Message-ID: <8ef73fb7-dc2f-2fcb-f8e6-e7de02a66b64@gmx.com> Date: Wed, 10 Jan 2018 16:49:33 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <59cdf69e792d5c723fa919abac1d67b6@webmail.1blu.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:jXX14zyBY0eBY4uS9pCKP0H4GX5aU9QJruZYog4K/FAxESksmiP qKoEFYl97c2IlkIf/KXwTv7ZmndCeKR3y73pXClI0FnkFRYEuH1brEfUndj7NroYMX+fVts JrZ2WW1ziK4nh1o6tAJFxlmrB2ynteThwOD/y7zHf4g4ajQ2A+UPqBCTrgygrodyO2UMw4F CItvUJt8qtFnhJ6uEwjkA== X-UI-Out-Filterresults: notjunk:1;V01:K0:aRbc918hCFs=:49Y32iplN2wbf+L9mMcnMK YtG3zRr6XhUXLFWSzvA14H8//RW3l4lpecsfvAtpiiGknynonW07ilBXUZjnNS0CdX0bbmkrd nkOcZuNDAHmSOLdP1cfdafW4q6N9jT1mzqHroFKpAxQqGEVPNmiYoTD4QOg0zOGVSPRuM9XDk SemAph3nFPxyQZ3NSg590ey0p2kqEN94NMSZ4WGBzMWn9oaOiDLxg5p8wY9WWRJDALye3Hv7S aqX3I36r2V9A1ZAauAc9ok4QmT1uX9OXQ2lUr6Djos8j9PKGe2spAQcvTlRnX6FZRfJ0+BgA+ /AAq2/jBj4cQmVgP4EU9Uvd5RpQUFubiT3XUciQPVl1zN06pHjtpul0us271aNkRazRrGKf8w t9dglNu0hqm7Qk+boolh4gjJKeBjtUnzXEJPIYBPNdBscX63yS2svZgmDBNYbmkkQX33uEImd gTdLDLAkZz4NHgFLV1uwZd87JkPfMHGwm6m3PZXhlILBiRPf2W5uuIcWZFxhBapO4NK0vbLrg DLtZ3bpGytxK8a+ek4R3AQXIDFo4NQ+LpfXTQSlr+Z64fqqXaT0BRt38Kwx0K6fgXuBVxuAeb jk/JVSb4SvXPeQ6Qa4Elbrl4WenWE8YpRFbegtgyo1DW2ahOzsIUFcafswKhAmVUohc8mTM3Q PCSeypqRKqhtiS3oQLTRX/9A2US46EjtcU3FrCAfn0lOAdXnoWWQwtEtOj30F9Km1QrAU8nI/ 3oCl9oWFlfuta/Xw5MpzFIkwuBEXfuHEi8hF0Dp8IogvVO9ETdAJciEz3KWs+UcBFFNNmKlMK O2kjZkRMBW73DkdWL2oVVLxvBbZKe1nQcqRxPw364UuFTrle1JqemON4hwVaLkV1sW17Fb8kg DX0t/6QBRXPLjlMsihSRcSnGGwbjCZTfpySAZvK1MoMZ7Km5cwLotShgc1vEBucmGDseMb36s FVmKnQ9CMPQ== X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jan 2018 13:49:44 -0000 On Wed, Jan 10, 2018 at 02:16:16PM +0100, Matthias Apitz: > Am 10.01.2018 14:01, schrieb Vitalio D: >> Hello, >> >> How and where void _exit(int) is implemented? I've started >> with exit(int) defined in exit.c un stdlib, but I've got stuck at >> unistd.h where void _exit(int) __dead2; >> After that I couldn't find anything by running >> find /usr/src -name "*.c" -exec grep " _exit(int" /dev/null {} \; > > $ find /usr/src -name *.c | grep exit > /usr/src/sys/kern/kern_exit.c > /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_onexit.c > /usr/src/lib/libc/arm/aeabi/aeabi_atexit.c > /usr/src/lib/libc/stdlib/cxa_thread_atexit.c > /usr/src/lib/libc/stdlib/cxa_thread_atexit_impl.c > /usr/src/lib/libc/stdlib/exit.c > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The original question was about _exit(2) syscall, not exit(3). WRT the _exit(2), it's marked as "PSEUDO" and relevant PSEUDO macro is defined in lib/libc//SYS.h (if I'm reading it all correctly).