summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/autoload.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-12-02 10:16:03 +0000
committerCorinna Vinschen <corinna@vinschen.de>2014-12-02 10:16:03 +0000
commit9119d13db870473f40d7678a980009e12a0d2379 (patch)
treeb5227028ccff6e9566a25bd251d74b51e40a4ce0 /winsup/cygwin/autoload.cc
parent0c326d84b59308341b3c88394373c7dd8b4918dc (diff)
downloadcygnal-9119d13db870473f40d7678a980009e12a0d2379.tar.gz
cygnal-9119d13db870473f40d7678a980009e12a0d2379.tar.bz2
cygnal-9119d13db870473f40d7678a980009e12a0d2379.zip
* autoload.cc (CreateEnvironmentBlock): Import.
(DestroyEnvironmentBlock): Import. * environ.cc (env_compare): New static bsearch comparison function. (build_env): Add parameter taking a user token. If token is non-NULL, fetch user's default Windows environment and merge it into the resulting environment. Explain what we do in preceeding comment. * environ,h (build_env): Align prototype to above change. * external.cc (create_winenv): Call build_env with NULL token. * spawn.cc (child_info_spawn::worker): When spawning new process under another user account, call build_env with new token to allow merging user's default Windows environment. * winlean.h (_USERENV_): Define to override dllimport.
Diffstat (limited to 'winsup/cygwin/autoload.cc')
-rw-r--r--winsup/cygwin/autoload.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/autoload.cc b/winsup/cygwin/autoload.cc
index 6340e8080..7859725ff 100644
--- a/winsup/cygwin/autoload.cc
+++ b/winsup/cygwin/autoload.cc
@@ -675,6 +675,9 @@ LoadDLLfunc (SetParent, 8, user32)
LoadDLLfunc (SetProcessWindowStation, 4, user32)
LoadDLLfunc (SetThreadDesktop, 4, user32)
+LoadDLLfunc (CreateEnvironmentBlock, 12, userenv)
+LoadDLLfunc (DestroyEnvironmentBlock, 4, userenv)
+
LoadDLLfuncEx3 (waveInAddBuffer, 12, winmm, 1, 0, 1)
LoadDLLfuncEx3 (waveInClose, 4, winmm, 1, 0, 1)
LoadDLLfuncEx3 (waveInGetNumDevs, 0, winmm, 1, 0, 1)