I tried to debug a little bit in figinset.C to learn a little bit about what
the child process is doing. I tried the following:

  if (pid == 0) { // child
    char **env, rbuf[80], gbuf[40];
    int ne = 0;
    Display* tempdisp = XOpenDisplay(XDisplayName(0));

    FilePtr mydbg("lyx_debug.txt", FilePtr::write);
    fprintf(mydbg,"this is the child process\n");
    mydbg.close();
    ...

As a result: I can't find any file lyx_debug.txt on any of my filesystems.
So I wonder and read a little bit more in the source. Direct following you
find that code-snippet:

   // create translation file
   sprintf(tbuf, "%s/~lyxgs%d.ps", system_tempdir.c_str(),
        int(getpid()));
sleep(60); // This is from me ;-)

   FilePtr f(tbuf, FilePtr::write);
   fprintf(f, "gsave clippath pathbbox grestore\n"
        "4 dict begin\n" ....

I have inserted the sleep-systemcall to get a chance of viewing the temp.
file. But: No file is present in the /tmp-directory nor at any other
location on my harddisks!

Why isn't it possible to create that file for the child process??????

Any idea?

Greetings
Claus

P.S.: Once more  this mail - sorry but I forgot to cc it to lyx-devel!

Reply via email to