Bug 1311682
Summary: | Problem with pipes implemented using unix sockets | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Paulo Andrade <pandrade> | ||||
Component: | ksh | Assignee: | Siteshwar Vashisht <svashisht> | ||||
Status: | CLOSED CANTFIX | QA Contact: | BaseOS QE - Apps <qe-baseos-apps> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 7.2 | CC: | jkejda, jwalter, pandrade | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2017-01-19 12:52:01 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1298243 | ||||||
Attachments: |
|
Description
Paulo Andrade
2016-02-24 17:56:35 UTC
Created attachment 1242166 [details]
Minimal Reproducer
This reproducer mimics what ksh does with stdin when sockets are used instead of pipes.
Output:
$ cc test.c
$ ./a.out
Failed to open stdin: No such device or address
Paulo, This seems to be the standard behaviour for unix domain sockets, it can not be opened using filename. It is not related to close-on-exec attribute for file descriptors. In the beta branch at [1] I can still see a macro to replace pipe() with socketpair(), so I presume the problem still exists in beta branch in github. Can you confirm you compiled with socketpair() instead of pipe() when you were testing alpha and beta branches ? [1] https://github.com/att/ast/blob/beta/src/cmd/ksh93/sh/io.c#L100 Hi Siteshwar, I think it I did not make most of my description clear. What I would expect is that "forcing" ksh to use pipes instead of socketpair, like other shells, would not cause build time test regressions. I do not remember all details as I opened this bug almost one year ago :) I just tested building the beta branch, and it did configure to use socketpair by default. Did build on rhel7 (on fedora it does not build ksh, at least not cleanly). Paulo, Switching to real pipes instead of sockets will cause performance degradation. Also, despite of all test cases passing, there is still a major risk of regression with real pipes. It would be too risky to switch to real pipes instead of sockets. Closing this as cantfix. *** Bug 1566663 has been marked as a duplicate of this bug. *** |