Re: Much oddness



To second, George redhat really wants you to configure
gdm to go ontop of its installation if you replace it.
You have to do the full configuration line as he said
and follow that by a make and make install otherwise
the gdm subcomponents will refuse to talk with one another.

I have notice several items while working with GDM
that affect its stability.

1. there is a file descriptor leak whenever an X server/gdm slave exits
   and gdm relaunches a new X server/gdm slave. This is not a big
   deal for a single display system that is not left up for 
   extended periods of time but for my work this easily shows up.
   
   my solution is to close whatever of d->socket_conn,
   d->slave_notify_fd, and d->master_notify_fd are open
   in whack_old_slave(...)

display.c: 
 222a224,240
> 
>     if (d->socket_conn != NULL) {
>           GdmConnection *conn = d->socket_conn;
>           d->socket_conn = NULL;
>           gdm_connection_set_close_notify (conn, NULL, NULL);
>     }
> 
>     if (d->slave_notify_fd >= 0) {
>           VE_IGNORE_EINTR (close (d->slave_notify_fd));
>           d->slave_notify_fd = -1;
>     }
> 
>     if (d->master_notify_fd >= 0) {
>           VE_IGNORE_EINTR (close (d->master_notify_fd));
>           d->master_notify_fd = -1;
>     }
>

2. The other issue that has caused trouble in testing is the
   main gdm allows SIGPIPE and of course then exits when
   a gdm slave dies while the main gdm is writing on the
   pipe to that slave.
  
   my solution is to have the master gdm ignore SIGPIPE:
   
gdm.c:
2151a2086
>     gdm_signal_ignore (SIGPIPE);


--Jerry Wall
  Sun Microsystems.
  
 
   



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]