Skip to content

Commit

Permalink
updated for version 7.3.344
Browse files Browse the repository at this point in the history
Problem:    Problem with GUI startup related to XInitThreads.
Solution:   Use read() and write() instead of fputs() and fread(). (James
	    Vega)
  • Loading branch information
brammool committed Oct 20, 2011
1 parent 13510d9 commit 6eb9338
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 19 deletions.
34 changes: 15 additions & 19 deletions src/gui.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,6 @@ gui_do_fork()
int status;
int exit_status;
pid_t pid = -1;
FILE *parent_file;

/* Setup a pipe between the child and the parent, so that the parent
* knows when the child has done the setsid() call and is allowed to
Expand Down Expand Up @@ -290,19 +289,17 @@ gui_do_fork()
gui_mch_forked();
# endif

if (!pipe_error)
parent_file = fdopen(pipefd[1], "w");
else
parent_file = NULL;

/* Try to start the GUI */
gui_attempt_start();

/* Notify the parent */
if (parent_file != NULL)
if (!pipe_error)
{
fputs(gui.in_use ? "ok" : "fail", parent_file);
fclose(parent_file);
if (gui.in_use)
write_eintr(pipefd[1], "ok", 3);
else
write_eintr(pipefd[1], "fail", 5);
close(pipefd[1]);
}

/* If we failed to start the GUI, exit now. */
Expand All @@ -323,17 +320,16 @@ gui_do_fork()
static int
gui_read_child_pipe(int fd)
{
size_t bytes_read;
FILE *file;
char buffer[10];

file = fdopen(fd, "r");
if (!file)
long bytes_read;
#define READ_BUFFER_SIZE 10
char buffer[READ_BUFFER_SIZE];

bytes_read = read_eintr(fd, buffer, READ_BUFFER_SIZE - 1);
#undef READ_BUFFER_SIZE
close(fd);
if (bytes_read < 0)
return GUI_CHILD_IO_ERROR;

bytes_read = fread(buffer, sizeof(char), sizeof(buffer)-1, file);
buffer[bytes_read] = '\0';
fclose(file);
buffer[bytes_read] = NUL;
if (strcmp(buffer, "ok") == 0)
return GUI_CHILD_OK;
return GUI_CHILD_FAILED;
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -714,6 +714,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
344,
/**/
343,
/**/
Expand Down

0 comments on commit 6eb9338

Please sign in to comment.