Hi all CygWin champions developers ;) Since this version, the LD_PRELOAD tag is no more replicated to subprocess (Win32 version of cygwin). That means, if I set the LD_PRELOAD variable, only the parent process calls the LoadLibrary & load the DLL defined in LD_PRELOAD.
In this case, when starting bash, the LD_PRELOAD command is executed. but when starting a cp.exe, cat.exe or another cygwin command from the bash shell, the LD_PRELOAD is no more executed ! If I performed : SET LD_PRELOAD=/cygdrive/d/mydll.dll c:\bash (mydll.dll loaded correctly) $cp toto.txt titi.txt (no mydll.dll loaded !) If I performed : SET LD_PRELOAD=/cygdrive/d/mydll.dll c:\bash (mydll.dll loaded correctly) $cmd c:\cp toto.txt titi.txt (mydll.dll loaded) So, it works now in this last build of cygwin as it was working previously the snapshot #20050811 To correct this, a snapshot has been provided, snapshot #20050811, See ChangeLog in winsup\cygwinChangeLog : 2005-08-11 Christopher Faylor <[EMAIL PROTECTED]> * dcrt0.cc: Remove ld_preload declaration. * winsup.h: Move ld_preload declaration here. * fork.cc (fork_child): Call ld_preload() before returning. So this issue was corrected by ffork.cc version 1.158 of ffork.ccd I took a quick look into the ffork.cc, & I saw that the fixup_hooks_after_fork () & _my_tls.fixup_after_fork () are now called after ld_preload instead of before as deliverd in snapshot #20050811. I don't know exactly if this is the reason of my issue. This is not maybe a regression as I suppose this because it does not work now as it has been designed since this snapshot to work. Did this behavior has been since modified to work by another way ? Thx in advance for all the help you will be able to provide me, Louis -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/