Bug 185833
| Summary: | glslideshow leaves lots of ZOMBIE process | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Mamoru TASAKA <mtasaka> | ||||
| Component: | xscreensaver | Assignee: | Ray Strode [halfline] <rstrode> | ||||
| Status: | CLOSED ERRATA | QA Contact: | |||||
| Severity: | high | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | rawhide | CC: | jwz | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2006-04-04 19:05:55 UTC | Type: | --- | ||||
| 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: | 182226 | ||||||
| Attachments: |
|
||||||
|
Description
Mamoru TASAKA
2006-03-19 06:32:24 UTC
Created attachment 126319 [details]
pstree log text of glslideshow
This problem still exists on xscreensaver version 5.00a11. I think this should fix it -- let me know?
RCS file: /cvsroot/xscreensaver/utils/grabclient.c,v
retrieving revision 1.17
diff -u -r1.17 grabclient.c
--- grabclient.c 1 Mar 2006 11:35:52 -0000 1.17
+++ grabclient.c 20 Mar 2006 01:35:43 -0000
@@ -302,6 +302,7 @@
FILE *read_pipe;
FILE *write_pipe;
XtInputId pipe_id;
+ pid_t pid;
} grabclient_data;
@@ -350,7 +351,8 @@
(XtPointer) (XtInputReadMask | XtInputExceptMask),
finalize_cb, (XtPointer) data);
- switch ((int) (forked = fork ()))
+ forked = fork ();
+ switch ((int) forked)
{
case -1:
sprintf (buf, "%s: couldn't fork", progname);
@@ -379,6 +381,7 @@
default: /* parent */
fclose (data->write_pipe);
data->write_pipe = 0;
+ data->pid = forked;
break;
}
}
@@ -405,6 +408,14 @@
if (name) free (name);
fclose (data->read_pipe);
+
+ if (data->pid) /* reap zombies */
+ {
+ int status;
+ waitpid (data->pid, &status, 0);
+ data->pid = 0;
+ }
+
memset (data, 0, sizeof (*data));
free (data);
}
Okay. That patch works well for me ( and also xscreensaver 5.00a12). Thanks! Adding to the FC5Update tracker, so we can get this fix in as an FC5 update. This should be pushed into updates-testing sometime today or tomorrow. For this problem, updates-testing rpm 4.24-2 works well for me. Great, i'll push it to -updates. Thanks. |