The telnet client dead in calling select function.

The telnet client is called by a expect script.
The expect script is called by subprocess.Popen
The subprocess.Popen is called by mod_wsgi

There is no problem if call the expect script directly.
There is no problem if call the subprocess.Popen from a python program.
When the subprocess.Popen is called from the mod_wsgi, the telnet client hung 
up in waiting the return of select

Is there some restriction for the sub process of mod_wsgi?
Why the select not work if it is the sub process of mod_wsgi?


The code detail is:
Code piece of python:
ScriptRun.BACKEND_PROCESS = subprocess.Popen("/tmp/expect_shell.sh", shell=True)
return ScriptRun.BACKEND_PROCESS

Code piece of /tmp/expect_shell.sh:
spawn telnet $ipaddr;
    set timeout 10 ;
    expect \
    {
       timeout \
        {
            send_user "time out";
            exit 10;
        }
        default \
        {
            send_user "ok";
            exit 10;
        }
   }
After execution of "spawn telnet $ipaddr;", the telnet client did not output 
anything.

Code piece of telnet:
c = select(16, &ibits, &obits, &xbits,(poll == 0) ? NULL : &TimeValue);
Add trace in the telnet client source code, I find the program blocked in the 
select function when call from mod_wsgi

Thanks in advance.







-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to