On 30 August 2006 16:19, Pierre Baillargeon wrote: > I've identified the reason why DLL don't show up: in the startup code > (winsup/cygwin/dcrt0.cc), in dll_crt0_0(), Win32's SetErrorMode() is > called to suppress all OS error dialogs. It's there since 1998 according > to the changelog, so it must not bother many people...
It's a real, huge, massive problem, when an entirely scripted and automated process such as a cron job suddenly pops up a requester in the middle of the night that won't go away until someone comes in the next day, logs in, and clicks it away ... > I guess it would > be ugly to add error messages for missing DLLs all the way up from the > low-level spawn/exec/etc. > > And in it's usual nice design practice, SetErrorMode() is a global > setting affecting all threads in the process, so changing it temporarily > in the spawn()/exec() function could be bad. Probably, the solution would be for cygwin to spot the error and report it through errno with a status of -2 from the exec call, so that the shell would issue a 'file not found' error. Or there might be some grounds to consider adding a '(no)suppresspopups' option to the CYGWIN environment variable. cheers, DaveK -- Can't think of a witty .sigline today.... -- 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/