Changes between Initial Version and Version 6 of Ticket #303


Ignore:
Timestamp:
Oct 26, 2014, 1:27:47 PM (10 years ago)
Author:
bird
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #303

    • Property Status changed from new to reopened
    • Property Type changed from defect to enhancement
    • Property Component changed from libc to libc-backend
    • Property Summary changed from spawnvpe() set COMSPEC and OS2_SHELL to NULL in some cases to __spawnvpe: Support more than 32K of arguments and 32KB enviroment.
    • Property Keywords __spawnvpe added
  • Ticket #303 – Description

    initial v6  
    1 Hi/2.
    2 
    3 When I did 'make check' with automake v1.13.1, gawk failed because it could not open pipe.
    4 
    5 I looked into gawk sources, then found that the failed function was popen(). And popen(), maybe system() as well, failed that COMSPEC and OS2_SHELL were NULL. Looking into more, I could know that a root of this problem was spawnvpe() in make, which is compiled by kLIBC.
    6 
    7 envp argument included COMSPEC and OS2_SHELL correctly. Nevertheless a child did not inherit them.
    8 
    9 I don't know which conditions trigger this. But this occurs whenever 'make check' with automake v1.13.1.
    10 
    11 Fortunately, there is simple workaround. It is to set EMXSHELL. EMXSHELL does not disappear.
     1OS/2 only allows up to 32KB long string lists for arguments and 32KB for the environment.  This causes problems for some programs, like the tests harness of automake v1.13.1.  It would be nice to be able to pass longer strings to kLibC programs. On option is to use a temporary file or two.