From owner-freebsd-questions@freebsd.org Wed Jan 8 11:42:58 2020 Return-Path: Delivered-To: freebsd-questions@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C743E1EBB2A for ; Wed, 8 Jan 2020 11:42:58 +0000 (UTC) (envelope-from 4250.10.freebsd-questions=freebsd.org@email-od.com) Received: from s1-b0c6.socketlabs.email-od.com (s1-b0c6.socketlabs.email-od.com [142.0.176.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 47t6nF4nybz4PXL for ; Wed, 8 Jan 2020 11:42:57 +0000 (UTC) (envelope-from 4250.10.freebsd-questions=freebsd.org@email-od.com) DKIM-Signature: v=1; a=rsa-sha256; d=email-od.com;i=@email-od.com;s=dkim; c=relaxed/relaxed; q=dns/txt; t=1578483778; x=1581075778; h=content-transfer-encoding:content-type:mime-version:references:in-reply-to:message-id:subject:cc:to:from:date:x-thread-info; bh=wYcJ6Bf+NvvtTzh5Csf6aI21mCYchSlrWAsX/mpU7RA=; b=uimw7B2WOX9mU8kB/uXGSLGHoqPT/U39XclsbQZqNw/IsDqAQ7gCLlFazw0Ly9y41F/1DGlOOXyYdRIPQbvUUurF4FrSwS91c7uXT/te7UYer4sV+SLTgk6iVp0VnmxN5RbKIG7leXfiez+5Mo6AxwdwAbKAqCyDkYFOla4PkGc= X-Thread-Info: NDI1MC4xMi42YTAwMDAwMjJjNmVmMC5mcmVlYnNkLXF1ZXN0aW9ucz1mcmVlYnNkLm9yZw== Received: from r2.h.in.socketlabs.com (r2.h.in.socketlabs.com [142.0.180.12]) by mxsg2.email-od.com with ESMTP(version=Tls12 cipher=Aes256 bits=256); Wed, 8 Jan 2020 06:42:51 -0500 Received: from smtp.lan.sohara.org (EMTPY [185.202.17.215]) by r2.h.in.socketlabs.com with ESMTP(version=Tls12 cipher=Aes256 bits=256); Wed, 8 Jan 2020 06:42:46 -0500 Received: from [192.168.63.1] (helo=steve.lan.sohara.org) by smtp.lan.sohara.org with smtp (Exim 4.92.3 (FreeBSD)) (envelope-from ) id 1ip9jY-0000sZ-H7; Wed, 08 Jan 2020 11:42:44 +0000 Date: Wed, 8 Jan 2020 11:42:44 +0000 From: Steve O'Hara-Smith To: "Ronald F. Guilmette" Cc: freebsd-questions@freebsd.org Subject: Re: Independence of file descriptor flags across forks (or lack thereof) Message-Id: <20200108114244.b431a9ae0170ec947e6fb7d8@sohara.org> In-Reply-To: <94417.1578474619@segfault.tristatelogic.com> References: <94417.1578474619@segfault.tristatelogic.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; amd64-portbld-freebsd12.0) X-Clacks-Overhead: "GNU Terry Pratchett" Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 47t6nF4nybz4PXL X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=email-od.com header.s=dkim header.b=uimw7B2W; dmarc=none; spf=pass (mx1.freebsd.org: domain of 4250.10.freebsd-questions=freebsd.org@email-od.com designates 142.0.176.198 as permitted sender) smtp.mailfrom=4250.10.freebsd-questions=freebsd.org@email-od.com X-Spamd-Result: default: False [-1.78 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.92)[-0.922,0]; R_DKIM_ALLOW(-0.20)[email-od.com:s=dkim]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:142.0.176.0/20]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[sohara.org]; FORGED_SENDER_VERP_SRS(0.00)[]; NEURAL_HAM_LONG(-0.99)[-0.993,0]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[email-od.com:+]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[198.176.0.142.list.dnswl.org : 127.0.15.0]; ENVFROM_VERP(0.00)[]; IP_SCORE(0.14)[ip: (-0.36), ipnet: 142.0.176.0/22(0.69), asn: 7381(0.41), country: US(-0.05)]; FORGED_SENDER(0.00)[steve@sohara.org,4250.10.freebsd-questions=freebsd.org@email-od.com]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:7381, ipnet:142.0.176.0/22, country:US]; FROM_NEQ_ENVFROM(0.00)[steve@sohara.org,4250.10.freebsd-questions=freebsd.org@email-od.com]; MID_RHS_MATCH_FROM(0.00)[] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jan 2020 11:42:58 -0000 On Wed, 08 Jan 2020 01:10:19 -0800 "Ronald F. Guilmette" wrote: > Quite simply, I started some development work recently with the > (apparently naive) belief that when a process forks, and its child > process get its own "independent" copy of all of the file descriptors It does - but file descriptors are just integers - see the open manpage. > that are currently open in the parent process, the child would also get > its own independent copy of the system-maintained "flags word" for each > of those inherited file descriptor copies. The fork manpage tells you that the descriptors reference the same underlying object. It is that object (the open file) which holds the "flags word". > So dear friends, I must ask you, am I delusional? Is this all just some > massive misunderstanding on my part? Yep. -- Steve O'Hara-Smith