[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    Bug#2071: Kdm (from kdebase 1.1.2) does not work on sparc solaris 2.7 (problem in   BecomeDaemon ())
From:       Eric Valette <valette () crf ! canon ! fr>
Date:       1999-09-30 14:21:38
[Download RAW message or body]


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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic