}
if (is_greeter)
+ {
+ gchar *filename;
+ filename = g_strdup_printf ("%s-greeter.log", xserver_get_address (display_get_xserver (display)));
+ string = g_build_filename (manager->priv->log_dir, filename, NULL);
+ g_free (filename);
+ }
+ else
{
// FIXME: Copy old error file
if (manager->priv->test_mode)
else
string = g_build_filename (getpwnam (session_get_username (session))->pw_dir, ".xsession-errors", NULL);
}
- else
- {
- gchar *filename;
- filename = g_strdup_printf ("%s-greeter.log", xserver_get_address (display_get_xserver (display)));
- string = g_build_filename (manager->priv->log_dir, filename, NULL);
- g_free (filename);
- }
g_debug ("Logging to %s", string);
session_set_log_file (session, string);
g_free (string);
*/
#include <stdlib.h>
-#include <fcntl.h>
#include <unistd.h>
#include <sys/wait.h>
#include <pwd.h>
#include <errno.h>
#include <string.h>
+#include <fcntl.h>
+#include <glib/gstdio.h>
#include "session.h"
session_fork_cb (gpointer data)
{
Session *session = data;
+ int fd;
if (session->priv->user_info)
{
g_warning ("Failed to change directory: %s", strerror (errno));
}
+ /* Make input non-blocking */
+ fd = g_open ("/dev/null", O_RDONLY);
+ dup2 (fd, STDIN_FILENO);
+ close (fd);
+
/* Redirect output to logfile */
if (session->priv->log_file)
{
- int fd;
-
- fd = open (session->priv->log_file, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP);
+ fd = g_open (session->priv->log_file, O_WRONLY | O_CREAT | O_TRUNC, 0600);
if (fd < 0)
g_warning ("Failed to open session log file %s: %s", session->priv->log_file, g_strerror (errno));
else
#include <stdlib.h>
#include <errno.h>
#include <string.h>
-#include <fcntl.h>
#include <sys/wait.h>
#include <xcb/xcb.h>
+#include <fcntl.h>
+#include <glib/gstdio.h>
#include "xserver.h"
{
int fd;
- fd = open (server->priv->log_file, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP);
+ fd = g_open (server->priv->log_file, O_WRONLY | O_CREAT | O_TRUNC, 0600);
if (fd < 0)
g_warning ("Failed to open session log file %s: %s", server->priv->log_file, g_strerror (errno));
else