From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27058 invoked by alias); 30 Mar 2017 13:25:55 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 40917 Received: (qmail 28879 invoked from network); 30 Mar 2017 13:25:55 -0000 X-Qmail-Scanner-Diagnostics: from mout.gmx.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(212.227.15.19):SA:0(-0.7/5.0):. Processed in 0.720041 secs); 30 Mar 2017 13:25:55 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: llua@gmx.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at gmx.com designates 212.227.15.19 as permitted sender) Subject: Re: $RANDOM in function in pipe do not get reseeded To: zsh-workers@zsh.org References: <20170330112523.GA28110@t420s.epfl.ch> From: Eric Cook Message-ID: Date: Thu, 30 Mar 2017 09:25:39 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170330112523.GA28110@t420s.epfl.ch> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:Xo44ewOtDHdgI23AWwYVqhSm0ZwmWJdRn0cZmsNWIV8X/Q5BIKN zMVUI9Gvb8lzv1ooIiSMyEgrSDTCtMRHMSPl1ImgMk7ILQ/Y1btOgJwzM+qqD+crZUcKv/P PticCf8ao3EbyVsPNA0xwGR9CodaMArdAvFR+U3S/RCOR+CbFSeDu/hmOOzcI/zv6AI0H3p fFuNiZuHD4ArGBwsyoNGw== X-UI-Out-Filterresults: notjunk:1;V01:K0:5jv5aZ8gmjw=:O+g4FQuCVxM/b48IQQ+iEl 35TUfzGXE+dyWoKbyQ1wxY2iCY5cnHgWV+EQiu1MsnW2jufeCnh8vKXNpPwuzmGcjuqzVOwwh HYpgdXNqwQRov5+AEsH6YbfCjjW0KQSvVcYLN9MWIeIz4r5+tOWGZpr7jYdJbjB5i5NH/LnuU HVSpRrqLNRrCIUQeAbB3zNs040UDrhE4KSg3qArsKGo5gdr5q1YYefHoY2P6E+tXb53lUxmm1 RHimh0MggAyTuFND+k7HGokmUZIoB3ZqQiKJYs3/Z7A2bYSTDZLTE/Wv6tkWfvqh5BnTzGGo6 LqbwcO0saOpSTLb4WOodaXNFcVovuiRv2djdQycun0KAql3fuPOmzA9546k+xEa2aomgs7upF xvdHcMtm9vZzuvQTIplgMDhI+9XzUwT3TkFl4705L9x0ynI2vSO8SX4pw7CJF2zX7UtItcfO8 r7Og66CWw4FcnS1dh1vFnFHmdgT0Hab/nTFj49jvWihfQSYmzTKKVUj6iEEUVS4QQmWVdzxWk RRq+eC7+Ut2KVX5VnjIxkxrfpzhqWofnmy+Ur3steG+Z2/UO99/8UEa0aZNqIkrVgdGY9vQOF GFfQrIIaaQCZa1weqvOUhb8Fngxa/W7xIfNK9Mk7kuW/9NmHkTL1pYKLmyDUHHs30OwwpoA1i EWrMUYKOiA62WbeB1l9aRIFc0XpTVnnRB6TAnboshr2D7OiIucupEa6Vg6HHhXb1oyQo+ua0o c96lfd6dcu0ntHeylUoXFIaXaoOL1+o7opvLrLiHk2N3tLWVutOrGDEFWUeA/xhYiQArlxCxF ykTzrLq On 03/30/2017 07:25 AM, tharvik@gmail.com wrote: > Hello, > > There is some strange behavior with $RANDOM, because you don't > seed after forking. > > For a testcase, here you go > -- > Define a function echoing the value of $RANDOM > ``` > get_random() { > echo "${RANDOM}" > } > ``` > Run it trough a pipe > ``` > get_random | cat > ``` > If you run it multiple times, the output is the same. > -- > > There is the patch linked, which fixes it. > > Have a nice day! > from zshparam: RANDOM A pseudo-random integer from 0 to 32767, newly generated each time this parameter is referenced. The random number generator can be seeded by assigning a numeric value to RANDOM. The values of RANDOM form an intentionally-repeatable pseudo-random sequence; subshells that reference RANDOM will result in identical pseudo-random values unless the value of RANDOM is referenced or seeded in the parent shell in between subshell invocations.