<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Parenthood on Insignificant Bits</title>
    <link>https://bobcopeland.com/blog/tags/parenthood/</link>
    <description>Recent content in Parenthood on Insignificant Bits</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Wed, 22 Nov 2017 19:30:23 +0000</lastBuildDate>
    <atom:link href="https://bobcopeland.com/blog/tags/parenthood/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>On board the rebus</title>
      <link>https://bobcopeland.com/blog/2017/11/on-board-the-rebus/</link>
      <pubDate>Wed, 22 Nov 2017 19:30:23 +0000</pubDate>
       <guid isPermaLink="false">http://bobcopeland.com/blog/?p=2438</guid> 
      <description>&lt;p&gt;My &lt;a href=&#34;https://bobcopeland.com/blog/2017/11/new-addition/&#34;&gt;most recent post&lt;/a&gt;, for those too lazy to follow the link and hit the &amp;ldquo;Reveal All&amp;rdquo; button, is a crossword puzzle announcing the birth of our third son, Samuel Yit-Mun Copeland. We&amp;rsquo;re over the moon with this new guy in our family. Here he is nearly asleep in my arms as I type this.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://bobcopeland.com/blog/images/lj/syc-1week.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;But now for something more boring.&lt;/p&gt;
&lt;p&gt;I decided months ago that my typical geeky announcement would take the form of a crossword since I&amp;rsquo;ve been playing in that area recently (previous announcements: a &lt;a href=&#34;https://bobcopeland.com/blog/2010/06/new-syscall-proposal/&#34;&gt;manpage for Alex&lt;/a&gt;, an &lt;a href=&#34;https://bobcopeland.com/blog/2013/08/footprint/&#34;&gt;ascii-art crypto program for Ian&lt;/a&gt;). And why not make this puzzle interesting by constructing my first rebus puzzle?&lt;/p&gt;</description>
    </item>
    <item>
      <title>New addition</title>
      <link>https://bobcopeland.com/blog/2017/11/new-addition/</link>
      <pubDate>Tue, 14 Nov 2017 11:52:38 +0000</pubDate>
       <guid isPermaLink="false">http://bobcopeland.com/blog/?p=2427</guid> 
      <description>&lt;p&gt;Angeline and I collaborated to bring this &lt;a href=&#34;https://bobcopeland.com/blog/crosswords/xwordjs/#/file/2017-11-13.xd&#34;&gt;new puzzle&lt;/a&gt; to fruition yesterday. She did all the hard work; I just came up with the grid and clues.&lt;/p&gt;
&lt;p&gt;Thursday-level difficulty.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://bobcopeland.com/blog/2013/08/footprint/&#34;&gt;Previously&lt;/a&gt;, &lt;a href=&#34;https://bobcopeland.com/blog/2010/06/new-syscall-proposal/&#34;&gt;previously&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Footprint, Part 2</title>
      <link>https://bobcopeland.com/blog/2013/08/footprint-part-2/</link>
      <pubDate>Mon, 12 Aug 2013 14:28:18 +0000</pubDate>
       <guid isPermaLink="false">http://bobcopeland.com/blog/?p=1967</guid> 
      <description>&lt;p&gt;My recent &lt;a href=&#34;https://bobcopeland.com/blog/2013/08/footprint/&#34;&gt;posting of ASCII art&lt;/a&gt; was intentionally subtle, perhaps overly so. If you haven&amp;rsquo;t figured it out by now, it is a C program that announces the birth of our second child. When compiled and executed, it prints:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ian Yit-Sing Copeland
Born 5 August, 2013 at 02:49
Weight 6 lbs 11 oz&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In this post, I will explain how I created it.&lt;/p&gt;
&lt;p&gt;Like many a C practitioner, I&amp;rsquo;ve always found &lt;a href=&#34;http://ioccc.org/&#34;&gt;International Obfuscated C Code Contest&lt;/a&gt; entries to be at once entertaining and mystifying. While I don&amp;rsquo;t consider this effort to be near the level of IOCCC entries, I thought it might be fun to try my own IOCCC-lite ASCII art program.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Footprint</title>
      <link>https://bobcopeland.com/blog/2013/08/footprint/</link>
      <pubDate>Mon, 05 Aug 2013 10:13:18 +0000</pubDate>
       <guid isPermaLink="false">http://bobcopeland.com/blog/?p=1994</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://bobcopeland.com/blog/images/85479ea9b454f0afdcf508ae88b46762.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://bobcopeland.com/blog/images/foot.png&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://bobcopeland.com/blog/srcs/foot.txt&#34;&gt;(text version)&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://bobcopeland.com/blog/2010/06/new-syscall-proposal/&#34;&gt;Previously.&lt;/a&gt; &lt;strong&gt;Update:&lt;/strong&gt; Explanation &lt;a href=&#34;https://bobcopeland.com/blog/2013/08/footprint-part-2/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New syscall proposal</title>
      <link>https://bobcopeland.com/blog/2010/06/new-syscall-proposal/</link>
      <pubDate>Sat, 26 Jun 2010 12:33:59 +0000</pubDate>
       <guid isPermaLink="false">http://bobcopeland.com/blog/?p=1490</guid> 
      <description>&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CLONE3(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)                   System Programmer&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s Manual                 CLONE3(2)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NAME
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       clone3 &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; create a child process
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SYNOPSIS
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#75715e&#34;&gt;#include &amp;lt;clone.h&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; clone3(pid_t parent, pid_t co_parent,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 &lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;fn)(void &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;), void &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;child_stack,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                 &lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; flags, void &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;arg, &lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; );
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DESCRIPTION
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       clone3()  creates  a new process, &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; a manner similar to fork(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       Unlike fork(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;), these calls allow the child process to share  parts  of
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       its  execution  context  with  the  parent &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; co&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;parent processes,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       such as their home, food, &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; approximately half of their genetic
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       material&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       The main use of clone3() is to implement offspring: sentient beings
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       that run concurrently with the parents &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; a shared environment&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       When  the  child  process  is  created  with  clone3(),  it executes the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       function  application  fn(arg)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;   (This  differs  from  fork(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),  where
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       execution  continues  &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; the child from the point of the fork(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;) call&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       The fn argument is a pointer to a function that is called by the  child
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       process  at the beginning of its execution&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  The arg argument is passed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       to the fn function&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  Although the parent processes may supply a suitable
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       fn function, the child process has a mind of its own &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; may deviate
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       from its execution at will&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       Executing clone3 will randomly select half of the genes from each
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       parent, resulting &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; a selection of phenotypes according to
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       Mendelian inheritance&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  By design this process increases the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       number of bits &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; the global entropy pool, making recovery of the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       random state impractical&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       The  child_stack  argument  specifies the location of the pile of
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       diapers used by the child process&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  After the child process leaves
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       the EMBRYO state &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; until it acquires the CAP_POTTY capability,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       it may frequently dump core&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  The calling process must therefore
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       set up a large store of waste disposal units &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;pass&lt;/span&gt; a pointer to
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       this store to clone3()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  After a successful core dump it is necessary
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; a parent to handle the condition as soon as possible&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       The flags parameter may  be  bitwise&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;or&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ed  with zero or more of the&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       following constants, &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; order to specify  the behavior of the system
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       call:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        CLONE_XY
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              Setting CLONE_XY indicates to the system that a child of the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              male gender is requested&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  This is only a hint to the system
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; may &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; be honored&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        CLONE_XX
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              Setting CLONE_XX indicates to the system that a child of the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              female gender is requested&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  This is only a hint to the system
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; may &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; be honored&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              If both CLONE_XY &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; CLONE_XX are set, results are undefined&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RETURN VALUE
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       On  completion,  the  thread  ID  of  the child process is returned &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       both parents&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; thread of execution.  During execution, the child process&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       may &lt;span style=&#34;color:#66d9ef&#34;&gt;signal&lt;/span&gt; an error condition by raising any of the following signals&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SIGNALS
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       HUNGRY  The stomach monitor process has detected an empty condition&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               The parent may correct the condition by supplying food&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       TIRED   The process has executed too many cycles &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; must enter
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               sleep(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       GRUMPY  The process is raising signals at full volume &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; unknown
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               reasons&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;  The parent process should attach pacifier(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;) to
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               the child process &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; attempt to cause it to enter sleep(&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       HAPPY   The process is &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; a suitable state &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; taking pictures &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;               grandparents&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CONFORMING TO
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       Biology &lt;span style=&#34;color:#ae81ff&#34;&gt;101.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;BUGS
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       Child process may spit&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;up on your new shirt; a burping cloth is
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       recommended&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;EXAMPLE
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       The following psuedo&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;code illustrates the intended usage:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#75715e&#34;&gt;#include &amp;lt;clone.h&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; main(&lt;span style=&#34;color:#a6e22e&#34;&gt;int&lt;/span&gt; argc, char &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt;argv[])
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            pid_t ange &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/*&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            pid_t bob &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;/*&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;...&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            pid_t alex;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            alex &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; clone3(ange, bob, fn, stack, CLONE_XY, NULL);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            sleep(&lt;span style=&#34;color:#ae81ff&#34;&gt;86400&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            take_snapshot(alex);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       This yields the following:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       Alexander Yit&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;Keung Copeland
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       Born &lt;span style=&#34;color:#ae81ff&#34;&gt;26&lt;/span&gt; June, &lt;span style=&#34;color:#ae81ff&#34;&gt;2010&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       Weight &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt; lbs &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt; oz
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;SEE ALSO
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       fork(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),    futex(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),    getpid(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),    gettid(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),   set_thread_area(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       set_tid_address(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),  tkill(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),  unshare(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),  wait(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;),  capabilities(&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;),
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       pthreads(&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CLONE3(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)                         &lt;span style=&#34;color:#ae81ff&#34;&gt;2010&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;06&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;26&lt;/span&gt;                          CLONE3(&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
