summaryrefslogtreecommitdiff
path: root/indra/llinventory/lltransactionflags.cpp
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2012-04-23 12:01:15 -0400
committerNat Goodspeed <nat@lindenlab.com>2012-04-23 12:01:15 -0400
commit78816bb1561190ac5a882caa90da2865d4aaa353 (patch)
tree3ad54978a8339ae3fd4f4d1f8d7f63d8d54f8090 /indra/llinventory/lltransactionflags.cpp
parenteb1bea222322385e6e5b05206f09f21bb891f3f7 (diff)
IQA-463: Use APR file I/O for downloaded viewer installer .exe.
On Windows, calling CreateProcess(bInheritHandles=FALSE) is the wrong idea. In that case, CreateProcess() passes NO handles -- even the files you've explicitly designated as the child's stdin, stdout, stderr in the STARTUPINFO struct! Remove LLProcess code to tweak bInheritHandles; we should also remove the corresponding (useless) APR extension. Instead, given that the Windows file-locking problem we've observed is specific to the viewer installer .exe file downloaded by the background updater logic, use APR file I/O for that specific file. Empirically, both llofstream and std::ofstream seem to make the open file handle inheritable; but apr_file_open() documentation says: "By default, the returned file descriptor will not be inherited by child processes created by apr_proc_create()." And indeed, it does appear to sidestep the locking problem.
Diffstat (limited to 'indra/llinventory/lltransactionflags.cpp')
0 files changed, 0 insertions, 0 deletions