GTK+ fork() and xscreensaver-demo 4.00 execution problem



Hi,

   Below is a response from Jamie Zawinski, regarding GTK+ with fork()
and exec*() used in xscreensaver-demo 4.00.

During my own tests, GTK+ 1.2.10 crashed and lost connection to the
X server when a fork() was made prior to exec() of a non-existent
object.

This behavour is identical to xscreensaver-demo when made to perform
the same attempt to execute a non-existent object.

I would like to confirm, whether or not GTK+ should fail when
fork()'ed and then a call of a non-existent object using exec*()'s
family of functions.


Sincerely,
--Taura Milana


On 2002.02.19 03:25 Jamie Zawinski wrote:


It's a cheap price to try to fix something that would have a high
likelyhood of resolving the problem even if it were not a gaurantee
of resolving the problem.

Look, I swear to you that it is good and common practice to call
execvp() and then check the return code.  It may well be that adding
a bunch of useless code around the call to execvp() would hide the
problem on your system -- but that's all it would do, *hide* it.
The actual bug lies elsewhere.

Since you're the only person who can seem to reproduce this problem,
I'm afraid I have to rely on you to either track it down, or give me
enough information to reproduce it on my system.

I promise you that your assumption that you can't call execvp() on
programs that don't exist is wrong.

If you find that on your system, it's true that any program that calls
execvp() crashes in this weird way, then there's something wrong with
your system.  Because that's not true of Unix or Linux in general.

-- 
Jamie Zawinski
jwz jwz org             http://www.jwz.org/
jwz dnalounge com       http://www.dnalounge.com/




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