From kde-bugs-dist Thu Sep 30 14:21:38 1999 From: Eric Valette Date: Thu, 30 Sep 1999 14:21:38 +0000 To: kde-bugs-dist Subject: Bug#2071: Kdm (from kdebase 1.1.2) does not work on sparc solaris 2.7 (problem in BecomeDaemon ()) X-MARC-Message: https://marc.info/?l=kde-bugs-dist&m=93870170830104 Package: kdm Version 1.1.2 Kdm does not work unless -nodaemon option is specified. Here is the reason as shown via a truss -f command (trace of BecomeDaemon ()...) 540: getuid() = 0 [0] 540: fork() = 541 541: fork() (returning as child ...) = 540 541: getpid() = 541 [540] 541: setpgid(0, 541) = 0 541: close(0) = 0 541: close(1) = 0 541: close(2) = 0 541: open("/dev/tty", O_RDWR) = 0 541: Stopped by signal #27, SIGTTOU, in ioctl() 540: setpgid(541, 541) = 0 540: llseek(0, 0, SEEK_CUR) = 63782 540: _exit(0) 541: Received signal #1, SIGHUP, in ioctl() [default] 541: ioctl(0, TIOCNOTTY, 0x00000000) Err#4 EINTR 541: *** process killed *** Just for info, here are the same trace for the native Solaris xdm 547: stat("/usr/openwin/lib/X11/xdm/xdm-config", 0xFFBEF878) = 0 547: getuid() = 0 [0] 547: fork() = 548 548: fork() (returning as child ...) = 547 548: setpgrp() = 548 548: close(0) = 0 548: close(1) = 0 548: close(2) = 0 548: open("/dev/tty", O_RDWR) Err#6 ENXIO <============== 548: open("/", O_RDONLY) = 0 548: fcntl(0, F_DUP2FD, 0x00000001) = 1 548: fcntl(0, F_DUP2FD, 0x00000002) = 2 548: open("/usr/openwin/lib/X11/xdm/xdm-pid", O_RDWR) = 3 548: fstat64(3, 0xFFBEF428) = 0 548: ioctl(3, TCGETA, 0xFFBEF3B4) Err#25 ENOTTY 547: setpgid(548, 548) Err#1 EPERM 547: llseek(0, 0, SEEK_CUR) = 82301 547: _exit(0) So main diference are : the code performs a setpgrp() instead of setpgid(0, 541) (similar code exited in kdm but has been commented...). open("/dev/tty", O_RDWR) fails and thus no ioctl(0, TIOCNOTTY, 0x00000000) like is performed... Hope this helps... -- __ / ` Eric Valette /-- __ o _. Canon CRF - Communication Dept (___, / (_(_(__ Rue de la touche lambert 35517 Cesson-Sevigne Cedex FRANCE Tel: +33 (0)2 99 87 68 91 Fax: +33 (0)2 99 84 11 30 E-mail: valette@crf.canon.fr http://www.crf.canon.fr