2005-08-19 [paul] 1.9.13cvs38
[claws.git] / src / action.c
index 7f15b7cff6ace4c1f46dc5577e2cf932ea6fe7bd..e284f410dde870a04329b5e30dabebd34bb53a8b 100644 (file)
@@ -35,7 +35,9 @@
 #include <string.h>
 #include <errno.h>
 #include <sys/types.h>
-#include <sys/wait.h>
+#if HAVE_SYS_WAIT_H
+#  include <sys/wait.h>
+#endif
 #include <signal.h>
 #include <unistd.h>
 
@@ -764,6 +766,7 @@ static gboolean execute_actions(gchar *action, GSList *msg_list,
 static ChildInfo *fork_child(gchar *cmd, const gchar *msg_str,
                             Children *children)
 {
+#ifdef G_OS_UNIX
        gint chld_in[2], chld_out[2], chld_err[2], chld_status[2];
        gchar *cmdline[4], *ret_str;
        pid_t pid, gch_pid;
@@ -935,10 +938,14 @@ static ChildInfo *fork_child(gchar *cmd, const gchar *msg_str,
        }
 
        return child_info;
+#else
+       return NULL;
+#endif /* G_OS_UNIX */
 }
 
 static void kill_children_cb(GtkWidget *widget, gpointer data)
 {
+#ifdef G_OS_UNIX
        GSList *cur;
        Children *children = (Children *) data;
        ChildInfo *child_info;
@@ -949,6 +956,7 @@ static void kill_children_cb(GtkWidget *widget, gpointer data)
                if (child_info->pid && kill(-child_info->pid, SIGTERM) < 0)
                        perror("kill");
        }
+#endif /* G_OS_UNIX */
 }
 
 static gint wait_for_children(Children *children)
@@ -1274,7 +1282,9 @@ static void catch_status(gpointer data, gint source, GdkInputCondition cond)
        c = read(source, &buf, 1);
        debug_print("Child returned %c\n", buf);
 
+#ifdef G_OS_UNIX
        waitpid(-child_info->pid, NULL, 0);
+#endif
        childinfo_close_pipes(child_info);
        child_info->pid = 0;