FVWM: large PipeReads

From: Gregg Dameron <gregg.dameron_at_lmco.com>
Date: Wed, 17 Apr 2002 19:29:25 -0600

Running 2.4.5 on Solaris.

It seems that as a PipeRead script increases in size, fvwm2 struggles to
read and execute it. The maximum seems to be 1024 bytes, measured by
the string output in debug mode that begins:

<<DEBUG>> about to attempt '<script here>'.

Larger than that, and things get strange. Reading in the file
containing the PipeRead may give an error such as:

<<DEBUG>> Module switch -1, about to exec: '<truncated PipeRead script>'

<<DEBUG>> Module switch -1, about to exec: '<characters after truncation
point>'
<<ERROR>> No such command '<characters after truncation point>'

Or, at runtime, Bourne may report an unexpected end-of-file, or other
syntax error, where none exists.

I haven't studied the source code in detail, but in read.c, I see:

  char line[1024];

More than a coincidence?

I suppose one workaround is to Exec a separate script and FvwmCommand
the output, but I'm anxious to optimize performance. Any help is
appreciated. I guess my preference would be dynamic memory allocation
supporting arbitrarily large PipeReads.

BTW, I noticed that the "about to exec" debug messages chop off the last
character of the line read in. In read.c:

    if (debugging)
      fvwm_msg(DBG,"ReadSubFunc","Module switch %d, about to exec:
'%.*s'",
        Module,strlen(tline)-1,tline);

Perhaps the "-1" shouldn't be there?

Gregg Dameron


--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Wed Apr 17 2002 - 20:29:02 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:53 BST