[#379166] question: threads behaviour — Raphael Bauduin <rblists@...>

Hi,

14 messages 2011/03/01

[#379190] exec using sh -c or directly running the command, depending on the system — Xavier No謖le <xavier.noelle@...>

Hello !

8 messages 2011/03/01

[#379261] How can i get the first letter of this string — duc nguyen <minhduct4@...>

Hello, i'm a newbie. I have a question that how can i get the first

10 messages 2011/03/03

[#379285] Extracting the shortest string from an array — Iñaki Baz Castillo <ibc@...>

Hi, given the following array:

12 messages 2011/03/03

[#379299] How to assign an element to a hash only if its value is not nil? — "Thomas W." <thomas@...>

hash = {}

13 messages 2011/03/03

[#379327] extconf.rb spitting out SH Makefile on windows? — Mr Eiland <mreiland1978@...>

Title says it all, I'm running ruby extconf.rb in a visual studio 2008

18 messages 2011/03/03
[#379883] Re: extconf.rb spitting out SH Makefile on windows? — Luis Lavena <luislavena@...> 2011/03/15

On Mar 15, 3:09=A0am, Mr Eiland <mreiland1...@yahoo.com> wrote:

[#379410] Ruby - Missed some core computer science world ? — Lucky Dev <lucky.developer@...>

I am doing ruby programming and been developing rails3 apps for some

16 messages 2011/03/06

[#379423] How to get class of BasicObject ancestor (Ruby 1.9.2)? — Alexey Petrushin <axyd80@...>

There's no :class method on BasicObject, is there any way to get class

9 messages 2011/03/06

[#379430] (ArgumentError) - in `initialize': wrong number of arguments (4 for 0) — Micah Wolfe <52w7te9ara@...>

Greetings all,

12 messages 2011/03/06

[#379469] basic programming question, help please — Kaye Ng <sbstn26@...>

class Square

17 messages 2011/03/07
[#379471] Re: basic programming question, help please — Mayank Kohaley <mayank.kohaley@...> 2011/03/07

The class method in Ruby is represented using self.<method name> or <class

[#379487] http post and authorization header for twitter — boo boo <s.w.timko@...>

I am trying to send an authorization header to the twitter api

16 messages 2011/03/07

[#379524] Duplicate methods removal in Ruby's TODO ? — David Unric <dunric29a@...>

Hi,

15 messages 2011/03/08

[#379597] Comparison between C++ and Ruby Variables — "Mayank K." <mayank.kohaley@...>

I have blogged about the comparison between c++ and ruby variables and

10 messages 2011/03/09

[#379686] What do you use with Ruby for GUI programming and why? — Robert <sigzero@...>

Is there a push to one toolkit or the other?

29 messages 2011/03/11
[#379713] Re: What do you use with Ruby for GUI programming and why? — Steve Klabnik <steve@...> 2011/03/11

I use Shoes. I'm biased; I'm one of the maintainers.

[#379715] Re: What do you use with Ruby for GUI programming and why? — Shadowfirebird <shadowfirebird@...> 2011/03/11

> I use Shoes. I'm biased; I'm one of the maintainers.

[#379755] send() with a block? — 7stud -- <bbxx789_05ss@...>

Why don't the ruby docs say that send() can take a block?

23 messages 2011/03/12
[#379756] Re: send() with a block? — "Sean O'Halpin" <sean.ohalpin@...> 2011/03/12

On Sat, Mar 12, 2011 at 8:45 PM, 7stud -- <bbxx789_05ss@yahoo.com> wrote:

[#379757] Re: send() with a block? — Peter Zotov <whitequark@...> 2011/03/12

On Sun, 13 Mar 2011 06:01:31 +0900, Sean O'Halpin wrote:

[#379845] Ruby jobs — Toby Gambill <toby.gambill@...>

All=20

25 messages 2011/03/14

[#379846] Understanding YAML and this practice in general — Fily Salas <fs_tigre@...>

Hi,

12 messages 2011/03/15

[#379889] SHA1 Decryption!! — Gormare Kalss <gormare@...>

Hello! I hope that no one will be offended by this question!! Ive been

12 messages 2011/03/15

[#379945] TCPSocket: how to realize that the other endpoint has closed the connection? — Iñaki Baz Castillo <ibc@...>

Hi, I open a TCP connection with a server:

10 messages 2011/03/16

[#379998] Inserting hash value slows down as table gets larger — Philip Rhoades <phil@...>

People,

11 messages 2011/03/17

[#380037] matching a word in any number of characters — Chad Perrin <code@...>

I have need of some code to match any of a number of words in any number

12 messages 2011/03/18

[#380074] Method Call from inside a file. — Tridib Bandopadhyay <tridib04@...>

I coded a new method within gc.c file defining as--

11 messages 2011/03/19

[#380085] A question about Ruby 1.9's "external encoding" — Albert Schlef <albertschlef@...>

I have the following program:

11 messages 2011/03/20

[#380116] The best practices to learn Ruby — Fily Salas <fs_tigre@...>

Hi,

22 messages 2011/03/20

[#380205] How could I make the Ruby 1.9 string ignore the invalid utf-8 byte sequence in split? — Stanley Xu <wenhao.xu@...>

Dear buddies,

8 messages 2011/03/22

[#380220] Ruby corrupts after a period of time — Chip Burke <cburke@...>

I have recently upgraded from Ruby 1.8.7 to 1.9.2p180 on Fedora. After a

19 messages 2011/03/22

[#380262] Converting PHP to Ruby — "Jack W." <jack.whitman403@...>

Hi all,

13 messages 2011/03/23

[#380306] shortcut for add unless nil ? — Iain Barnett <iainspeed@...>

Hi,

24 messages 2011/03/24
[#380308] Re: shortcut for add unless nil ? — Xavier Noria <fxn@...> 2011/03/24

You could do something like this (untested):

[#380339] Re: shortcut for add unless nil ? — Iain Barnett <iainspeed@...> 2011/03/25

[#380347] Re: shortcut for add unless nil ? — Robert Klemme <shortcutter@...> 2011/03/25

On Fri, Mar 25, 2011 at 7:02 AM, Iain Barnett <iainspeed@gmail.com> wrote:

[#380369] Re: shortcut for add unless nil ? — Colin Bartlett <colinb2r@...> 2011/03/25

On Fri, Mar 25, 2011 at 7:52 AM, Robert Klemme

[#380382] Re: shortcut for add unless nil ? — Iain Barnett <iainspeed@...> 2011/03/25

[#380385] Re: shortcut for add unless nil ? — Robert Klemme <shortcutter@...> 2011/03/25

On Fri, Mar 25, 2011 at 4:42 PM, Iain Barnett <iainspeed@gmail.com> wrote:

[#380389] Re: shortcut for add unless nil ? — Iain Barnett <iainspeed@...> 2011/03/25

[#380394] Re: shortcut for add unless nil ? — serialhex <serialhex@...> 2011/03/25

...personally i think it would be nice to be able to define new operators

[#380325] Regexp, matching only the content within parentheses — Emil Kampp <ekampp@...>

Hi.

12 messages 2011/03/24

[#380359] How to get the value of a singleton class? — Joey Zhou <yimutang@...>

Here is a sample code:

14 messages 2011/03/25
[#380360] Re: How to get the value of a singleton class? — Robert Dober <robert.dober@...> 2011/03/25

On Fri, Mar 25, 2011 at 1:23 PM, Joey Zhou <yimutang@gmail.com> wrote:

[#380361] Do I need to upgrade to the latest version of Ruby — Fily Salas <fs_tigre@...>

Hi,

10 messages 2011/03/25

[#380368] Dynamic classes — PsiPro <arjesins@...>

So I am working on some metaprograming and have some questions about

13 messages 2011/03/25

[#380401] How to "find" new lines — Damir Sigur <damir@...>

I am new to ruby, and was trying to make a small code which would check

12 messages 2011/03/25

[#380520] A two-minute Ruby flavoured survey to help shape a new service. — "Mic P." <micpringle@...>

Please take a few seconds to fill out the following survey ...

12 messages 2011/03/28
[#380528] Re: A two-minute Ruby flavoured survey to help shape a new service. — Chad Perrin <code@...> 2011/03/28

On Tue, Mar 29, 2011 at 03:46:17AM +0900, Mic P. wrote:

[#380558] Why can a floating point number be used as an array index? — Jeff Dik <s450r1@...>

Why can a floating point number be used as an array index? Anybody

11 messages 2011/03/29

[#380573] Encoding issues when parsing HTML in 1.9 — ctdev <ctdev421@...>

Hi, I'm having some encoding problems while parsing HTML with Nokogiri

12 messages 2011/03/30

[#380586] functional paradigm taking over — Robert Klemme <shortcutter@...>

Hi,

133 messages 2011/03/30
[#380593] Lambda Shambda — Mike Stephens <rubfor@...> 2011/03/30

Although a Ruby fan, I must say I'm spending all my time looking at

[#380612] Re: Lambda Shambda — Chad Perrin <code@...> 2011/03/30

On Wed, Mar 30, 2011 at 06:38:19PM +0900, Mike Stephens wrote:

[#380617] Re: Lambda Shambda — Robert Klemme <shortcutter@...> 2011/03/30

On Wed, Mar 30, 2011 at 4:49 PM, Chad Perrin <code@apotheon.net> wrote:

[#380641] Re: Lambda Shambda — Chad Perrin <code@...> 2011/03/30

On Thu, Mar 31, 2011 at 12:19:25AM +0900, Robert Klemme wrote:

[#380664] Re: Lambda Shambda — Phillip Gawlowski <cmdjackryan@...> 2011/03/31

On Thu, Mar 31, 2011 at 1:24 AM, Chad Perrin <code@apotheon.net> wrote:

[#380669] Re: Lambda Shambda — Chad Perrin <code@...> 2011/03/31

On Thu, Mar 31, 2011 at 12:30:07PM +0900, Phillip Gawlowski wrote:

[#380683] Re: Lambda Shambda — Mike Stephens <rubfor@...> 2011/03/31

Chad Perrin wrote in post #990130:

[#380812] Re: Lambda Shambda — Josh Cheek <josh.cheek@...> 2011/04/02

On Thu, Mar 31, 2011 at 5:08 AM, Mike Stephens <rubfor@recitel.net> wrote:

[#380825] Re: Lambda Shambda — Mike Stephens <rubfor@...> 2011/04/03

Josh Cheek wrote in post #990579:

[#380831] Re: Lambda Shambda — Phillip Gawlowski <cmdjackryan@...> 2011/04/03

On Sun, Apr 3, 2011 at 7:29 AM, Mike Stephens <rubfor@recitel.net> wrote:

[#380839] Re: Lambda Shambda — Everett L Williams II <rett@...> 2011/04/03

*Let's not pay too much attention to the code snobs on here. I've yet to

[#380840] Re: Lambda Shambda — Phillip Gawlowski <cmdjackryan@...> 2011/04/03

On Sun, Apr 3, 2011 at 2:17 PM, Everett L Williams II

[#380893] Re: functional paradigm taking over — Mike Stephens <rubfor@...> 2011/04/04

This thread has been touching upon three issues - functional languages

[#380907] Re: functional paradigm taking over — Everett L Williams II <rett@...> 2011/04/04

*Mike,*

[#380910] Re: functional paradigm taking over — Johnny Morrice <spoon@...> 2011/04/04

> But, as I have said, I have seen some absolutely

[#380913] Re: functional paradigm taking over — Johnny Morrice <spoon@...> 2011/04/04

> I've seen some absolutely amazing things done with befunge! Networked

[#380925] Re: functional paradigm taking over — Chad Perrin <code@...> 2011/04/04

On Mon, Apr 04, 2011 at 09:29:13PM +0900, Johnny Morrice wrote:

[#380926] Re: functional paradigm taking over — Johnny Morrice <spoon@...> 2011/04/04

> I have not seen "befunge" as a euphemism for brainfuck before. Is

[#380933] Re: functional paradigm taking over — Chad Perrin <code@...> 2011/04/04

On Tue, Apr 05, 2011 at 12:42:20AM +0900, Johnny Morrice wrote:

[#381261] Re: functional paradigm taking over — Robert Dober <robert.dober@...> 2011/04/10

On Mon, Apr 4, 2011 at 8:07 PM, Chad Perrin <code@apotheon.net> wrote:

[#381324] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/12

Aren't all programs languages as the program describes a particular problem

[#381330] Re: functional paradigm taking over — Phillip Gawlowski <cmdjackryan@...> 2011/04/12

On Tue, Apr 12, 2011 at 8:18 AM, Kevin <darkintent@gmail.com> wrote:

[#381331] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/12

No I'm not confusing them, all programs provide the vocabulary (Means of

[#381356] Re: functional paradigm taking over — Chad Perrin <code@...> 2011/04/12

On Tue, Apr 12, 2011 at 04:47:17PM +0900, Kevin wrote:

[#381400] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/13

Why don't you actually go take a look at the definition of language,

[#381401] Re: functional paradigm taking over — Josh Cheek <josh.cheek@...> 2011/04/13

On Wed, Apr 13, 2011 at 12:53 AM, Kevin <darkintent@gmail.com> wrote:

[#381403] Re: functional paradigm taking over — Kevin <darkintent@...> 2011/04/13

That is all well and good. But does that fact make the definitions I am

[#381408] Re: functional paradigm taking over — Phillip Gawlowski <cmdjackryan@...> 2011/04/13

On Wed, Apr 13, 2011 at 8:38 AM, Kevin <darkintent@gmail.com> wrote:

[#380623] string/array slices — Patrick Tyler <patrick.a.tyler@...>

Hello,

15 messages 2011/03/30

[#380689] how to refine the code to avoid using fork on windows? — Ethan Huo <firewall888@...>

here is the thing, i need to move a previous ruby program from Linux to

9 messages 2011/03/31

[#380710] Simple array.each do |x| question — "Kyle X." <haebooty@...>

Hello, I am new to ruby and cannot understand why this code is not

18 messages 2011/03/31
[#380711] Re: Simple array.each do |x| question — Roger Braun <roger@...> 2011/03/31

Hi

Re: [ANN] posix-spawn 0.3.0 -- first public release (codename, "tigers blood")

From: Charles Oliver Nutter <headius@...>
Date: 2011-03-05 07:09:34 UTC
List: ruby-talk #379381
FWIW, https://github.com/headius/spoon

On Sat, Mar 5, 2011 at 1:08 AM, Charles Oliver Nutter
<headius@headius.com> wrote:
> Did you know about the "spoon" gem? It's a very simple binding of
> posix_spawn via FFI that works fine in JRuby too. It would sure be
> nice if this could be an FFI solution, so it would work without a C
> extension.
>
> On Fri, Mar 4, 2011 at 9:49 PM, Ryan Tomayko <rtomayko@gmail.com> wrote:
>> <https://github.com/rtomayko/posix-spawn>
>> $ gem install posix-spawn
>>
>> tmm1 and I are pleased to announce the initial release of posix-spawn,
>> a small extension library that implements a subset of Ruby 1.9's new
>> Process::spawn [1] in a way that takes advantage of fast process
>> spawning (IEEE Std 1003.1 posix_spawn(2) systems interfaces [2]) where
>> available and runs on all MRI Rubys >=3D 1.8.7.
>>
>> =C2=A0- Fast, constant time process spawning across a variety of platfor=
ms
>> =C2=A0- A largish compatible subset of Ruby 1.9's Process::spawn interfa=
ce
>> =C2=A0 as well as 1.9 enhancements to Kernel#system, Kernel#`, etc. unde=
r
>> =C2=A0 Ruby >=3D 1.8.7.
>> =C2=A0- High level and hopefully portable POSIX::Spawn::Child class for
>> =C2=A0 quick and dirty (but correct!) non-streaming IPC scenarios.
>>
>> See the README for usage and graphs of benchmark results on Linux and
>> Darwin, or run them yourself:
>>
>> =C2=A0 =C2=A0$ uname -a
>> =C2=A0 =C2=A0Linux aux1 2.6.26-2-xen-amd64 #1 SMP Thu Aug 20 2009 x86_64=
 GNU/Linux
>> =C2=A0 =C2=A0$ ruby --version
>> =C2=A0 =C2=A0ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
>> =C2=A0 =C2=A0$ gem install posix-spawn
>> =C2=A0 =C2=A0$ posix-spawn-benchmark
>> =C2=A0 =C2=A0benchmarking fork/exec vs. posix_spawn over 1000 runs at 10=
0M res
>> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 user =C2=A0 =C2=A0 system =C2=A0 =
=C2=A0 =C2=A0total =C2=A0 =C2=A0 =C2=A0 =C2=A0real
>> =C2=A0 =C2=A0fspawn (fork/exec): =C2=A0 =C2=A0 0.080000 =C2=A014.920000 =
=C2=A038.040000 ( 39.029493)
>> =C2=A0 =C2=A0pspawn (posix_spawn): =C2=A0 0.040000 =C2=A0 0.010000 =C2=
=A0 0.560000 ( =C2=A00.939422)
>>
>> Work on the library started when tmm1 found, through the use of his
>> brilliant rbtrace [3] program, a number of slow points in the GitHub
>> codebase where fork/exec is used heavily to spawn processes. In some
>> cases, a single fork() system call was using >30ms while in others
>> using only ~1ms. Our testsuite fork()'d especially slowly. Hmmm.
>>
>> On Linux, fork(2) slows down as the parent process uses more memory
>> due to the need to copy page tables for COW. In many common uses of
>> fork(), where it is followed by one of the exec family of functions to
>> spawn child processes (Kernel#system, IO::popen, Process::spawn,
>> etc.), this overhead can be removed by using posix_spawn() or vfork()
>> instead.
>>
>> After implementing a simple fast process spawner extension using
>> posix_spawn() and gaining some familiarity with the posix_spawn family
>> of C functions, we noticed that it could potentially be used to
>> implement a large subset of features provided by Ruby 1.9's
>> Process::spawn.
>>
>> We love Process::spawn.
>>
>> We love Process::spawn so much in fact that over the past few months,
>> even before surfacing any of the issues with Linux fork() slowness, an
>> effort had been underway at GitHub to move two key libraries (Grit,
>> the Ruby interface to Git, and Albino, a Ruby wrapper around the
>> excellent Pygments syntax highlighter) to use Process::spawn
>> compatible method invocations (implemented with fork/exec under
>> Ruby 1.8.7) so that we could take advantage of Process::spawn under
>> Ruby 1.9.
>>
>> Once we had a basic Process::spawn interface implemented on top of
>> posix_spawn(), we were able to take some higher level utility classes
>> from this work on the Grit and Albino projects and include them in
>> posix-spawn as a nice POSIX::Spawn::Child class. It is:
>>
>> =C2=A0- Simple, requiring little code for simple stream input and captur=
e
>> =C2=A0- Internally non-blocking (uses select(2)), so it handles all pipe
>> =C2=A0 hang cases due to exceeding PIPE_BUF limits on one or more stream=
s
>> =C2=A0- Potentially portable, due to the abstraction over lower-level
>> =C2=A0 process and stream management APIs
>>
>> We hope to now remove large bodies of Ruby 1.8.7 spawn emulation code
>> and replace it with posix-spawn.
>>
>> As the project continued to take shape, we noticed how much more
>> feature-rich the Kernel#system, IO.popen, etc. methods were in Ruby
>> 1.9. Having been built on the foundation of the new Process::spawn,
>> they allow for setting up the child's environment, redirecting
>> arbitrary fds, and all the other great stuff in Process::spawn. We
>> were able to write Ruby 1.8.7 compatible subset implementations of
>> those as well and put them under the POSIX::Spawn module.
>>
>> Now, about that subset. As of this initial release, we were able to
>> implement the following arguments and options to spawn:
>>
>>> spawn([env,] command... [,options]) =3D> pid
>>>
>>> env: hash
>>> =C2=A0 name =3D> val : set the environment variable
>>> =C2=A0 name =3D> nil : unset the environment variable
>>> command...:
>>> =C2=A0 command =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 : /bin/sh -c 'command'
>>> =C2=A0 cmdname, arg1, ... =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: exec argv=
 (no shell)
>>> =C2=A0 [cmdname, argv0], arg1, ... : exec argv (no shell)
>>> options: hash
>>> =C2=A0 clearing environment variables:
>>> =C2=A0 =C2=A0 :unsetenv_others =3D> true =C2=A0 : clear environment var=
s not in env
>>> =C2=A0 =C2=A0 :unsetenv_others =3D> false =C2=A0: don't clear (default)
>>> =C2=A0 redirection:
>>> =C2=A0 =C2=A0 key:
>>> =C2=A0 =C2=A0 =C2=A0 FD =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0: single fd in child process
>>> =C2=A0 =C2=A0 =C2=A0 [FD, FD, ...] =C2=A0 : multiple fd in child proces=
s
>>> =C2=A0 =C2=A0 value:
>>> =C2=A0 =C2=A0 =C2=A0 FD =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0: redirect to fd in parent process
>>> =C2=A0 =C2=A0 =C2=A0 :close =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0: close the fd in child process
>>> =C2=A0 =C2=A0 =C2=A0 string =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0: redir w/ open(string, "r" or "w")
>>> =C2=A0 =C2=A0 =C2=A0 [string] =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0: redir w/ open(string, File::RDONLY)
>>> =C2=A0 =C2=A0 =C2=A0 [string, open_mode] =C2=A0 =C2=A0 =C2=A0 : redir w=
/ open(string, open_mode, 0644)
>>> =C2=A0 =C2=A0 =C2=A0 [string, open_mode, perm] : redir w/ open(string, =
open_mode, perm)
>>> =C2=A0 =C2=A0 FD is one of follows
>>> =C2=A0 =C2=A0 =C2=A0 :in =C2=A0 =C2=A0 : the fd 0 which is the standard=
 input
>>> =C2=A0 =C2=A0 =C2=A0 :out =C2=A0 =C2=A0: the fd 1 which is the standard=
 output
>>> =C2=A0 =C2=A0 =C2=A0 :err =C2=A0 =C2=A0: the fd 2 which is the standard=
 error
>>> =C2=A0 =C2=A0 =C2=A0 integer : the fd of specified the integer
>>> =C2=A0 =C2=A0 =C2=A0 io =C2=A0 =C2=A0 =C2=A0: the fd specified as io.fi=
leno
>>> =C2=A0 current directory:
>>> =C2=A0 =C2=A0 :chdir =3D> str
>>
>> We have NOT yet implemented these options:
>>
>>> options: hash
>>> =C2=A0 process group:
>>> =C2=A0 =C2=A0 :pgroup =3D> true or 0 : make a new process group
>>> =C2=A0 =C2=A0 :pgroup =3D> pgid =C2=A0 =C2=A0 =C2=A0: join to specified=
 process group
>>> =C2=A0 =C2=A0 :pgroup =3D> nil =C2=A0 =C2=A0 =C2=A0 : don't change the =
process group (default)
>>> =C2=A0 resource limit: resourcename is core, cpu, data, etc.
>>> =C2=A0 =C2=A0 :rlimit_resourcename =3D> limit
>>> =C2=A0 =C2=A0 :rlimit_resourcename =3D> [cur_limit, max_limit]
>>> =C2=A0 umask:
>>> =C2=A0 =C2=A0 :umask =3D> int
>>> =C2=A0 redirection:
>>> =C2=A0 =C2=A0 value:
>>> =C2=A0 =C2=A0 =C2=A0 [:child, FD] =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0: redirect to the redirected fd
>>> =C2=A0 file descriptor inheritance: close non-redir non-standard fds > =
3
>>> =C2=A0 =C2=A0 :close_others =3D> false : inherit fds (default for syste=
m and exec)
>>> =C2=A0 =C2=A0 :close_others =3D> true =C2=A0: no inherit (default for s=
pawn and popen)
>>
>> We have ideas for some of these (:pgroup, :umask, [:child, FD]) and
>> may implement them in future releases; others, like :rlimit, are not
>> supported by posix_spawn() and have no clear implementations strategy
>> outside of falling back to fork/exec when detected.
>>
>> [0] https://github.com/rtomayko/posix-spawn
>> [1] http://www.ruby-doc.org/core-1.9/classes/Process.html#M002230
>> [2] http://pubs.opengroup.org/onlinepubs/009695399/functions/posix_spawn=
.html
>> [3] https://github.com/tmm1/rbtrace
>>
>> Ryan Tomayko
>> Aman Gupta
>>
>>
>

In This Thread