Issue #3013 has been updated by Markus Roberts.

I haven't entirely digested your patch but there are a few points I should 
probably clarify to make sure we're on the same page:

* In the test, there are actually two SIGPIPEs going on:
** one, which we'd like to prevent, which the grandchild (represented by the 
fork block in the exec_test_helper) receives when it tries to write to the 
closed pipe
** the second, which we don't, which is used in this testing rig for the 
program acting as a mock or surrogate for the misbehaved daemon to indicate to 
the main test program that it received a SIGPIPE
* I'm assuming that doing anything to affect the behavior of the client is out 
of scope; if we're calling out to a ill-behaved process we need to cope with it
* In my experimentation (also noted on one of the earlier tickets) select is 
ineffective with pipes; they _always_ return as ready.  I have not investigated 
the cause of this, but have confirmed it.
* I would not expect that trapping SIGPIPE (or anything else) in the code 
before a Kernel.exec() would have the desired effect; if I am not mistaken all 
this goes away when the process is replaced by the exec.


----------------------------------------
Bug #3013: util.rb:execute broken on Ruby <1.8.3
http://projects.reductivelabs.com/issues/3013

Author: Ricky Zhou
Status: Ready for Testing
Priority: Urgent
Assigned to: Markus Roberts
Category: exec
Target version: 0.25.3
Affected version: 0.25.2
Keywords: 
Branch: http://github.com/MarkusQ/puppet/tree/ticket/0.25.x/3013


Apparently the patch in ticket #2731 introduced one more issue by using 
readpartial, which isn't available until ruby 1.8.3 (RHEL4 at least is 
affected).  I'm not sure how this is normally handled in ruby, but if the 
readpartial function is not available, the code should fall back to sysread 
(along with some code for handling EINTR).

Anybody with better ruby knowledge know how this should be done?


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account
--
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to