Windows service and pyc files
Laszlo Nagy
gandalf at designaproduct.biz
Thu Apr 5 13:42:31 EDT 2007
> With a bit of guessing, I think I've found what's happening.
> Since you don't provide a value for stdin, None is used. Inside
> subprocess.py, method _get_handles, line 670, GetStdHandle *may* return
> None; in that case _make_inheritable fails.
> If you print the value of p2cread in line 670 I bet you'll get None.
> The fix is to test for None in _make_inheritable (line 720):
>
> if handle is not None:
> return DuplicateHandle(...)
>
> (else return None, implicit)
>
>
>> When I call spawn() from an application, it works just fine. Any ideas?
>>
>
> According to http://msdn2.microsoft.com/en-us/library/ms683231.aspx
> GetStdHandle may return NULL (translated to None in Python) when invoked
> from a service with no redirected standard handles. From an application,
> there is no problem.
>
> Please try the simple fix above to comfirm it works; I'll submit a patch
> if that's the case.
>
Yes, it fixed the problem. Please submit the patch. Thank you!
Laszlo
More information about the Python-list
mailing list