You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Jonathan Gallimore (JIRA)" <ji...@apache.org> on 2019/04/18 13:42:00 UTC

[jira] [Created] (DAEMON-401) Environment variables set on service not available in JNI dll

Jonathan Gallimore created DAEMON-401:
-----------------------------------------

             Summary: Environment variables set on service not available in JNI dll
                 Key: DAEMON-401
                 URL: https://issues.apache.org/jira/browse/DAEMON-401
             Project: Commons Daemon
          Issue Type: Bug
            Reporter: Jonathan Gallimore


I have a JNI dll loaded by a Java process running as a Windows service on Windows 2019 using prunsrv. The JNI library is built with VC14, and makes calls to getenv(), which is imported from ucrtbase.dll.

This call to getenv does not pick up environment variables that are set on the service via //US//Service ++Environment "key=value". Commons Daemon is setting these environment variables using _wputenv(), which is imported from msvcrt.dll.

I started a discussion on the mailing list regarding this. I have patch which dynamically loads ucrtbase.dll and calls its _wputenv method as well, if it is available.

I'm happy to provide changes or further patches, and work on this issue, but feedback would be useful and very much appreciated.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)