| Summary: | kdeinit does not close its standard input/output when daemonizing | ||
|---|---|---|---|
| Product: | [Unmaintained] kdelibs | Reporter: | mdm |
| Component: | kdeinit | Assignee: | kdelibs bugs <kdelibs-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | fabo, mpyne |
| Priority: | NOR | ||
| Version First Reported In: | 4.2 | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
mdm
2009-07-28 00:18:56 UTC
ktradertest itself is a KDE 3 utility which did not make the transition to KDE 4 (I presume due to us using shared-mime-info now). The underlying kdeinit issue itself may still be a problem for other similar uses but I would think we don't want to just close stdin/stdout since the children processes which make up KDE would all be unable to send output to or receive output from a tty. Perhaps the best route is to have kdeinit close stdin/stdout if it's not going to/from a tty? ktradertest from KDE 3 can be found as ktraderclient in kdebase/runtime on KDE 4. SVN commit 1100408 by ossi: redirect stdout to stderr if we are forked from a command line tool (say, ktraderclient) which is used in a pipe, us keeping open the inherited stdout is pretty fatal for the usefulness of the pipe. as we have no use for a real stdout (if any at all), just redirect it to stderr. we can't just close/redirect stderr, as this is where all "interesting" output is going. so if somebody tries to use some tool's stderr in a pipe, he'd still be out of luck. BUG: 201714 M +4 -0 kinit.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1100408 |