[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [condor-users] Output files not being returned upon preemption -- new info

Condor is enumerating each window in each desktop because its algorithm for shutting a job down gracefully appears to be to find a hwnd with a pid matching the job's pid, and then to send it a WM_CLOSE message.  It's conceivable that no hwnd could be found, yet that the job is still there, in which case this algorithm would fail, and would prevent transfer of files, as I described earlier.

I don't know why condor finds no hwnd for the job, but here are some possibilities:
1) My app executable is a DOS batch file.  Unless Condor wraps this in an instantiating Windows app, there may actually be no hwnd for the process.
2) The condor user may not have the WINSTA_ENUMERATE privilege for the windows station on which the condor job is running, in which case it won't find the process.  I checked the source code; the WINSTA_ENUMERATE privilege isn't asked for explicitly except for twice, each time in irrelevant (I think) circumstances.

I'm trying a temporary workaround that I don't really like:  I modified CStarter::ShutdownFast in starter_class.C to not set the transfer_at_vacate flag to false.  This seems to work, but there are all kinds of reasons why this shouldn't be my permanent solution.  Can anyone suggest a better one?
Condor Support Information:
To Unsubscribe, send mail to majordomo@xxxxxxxxxxx with
unsubscribe condor-users <your_email_address>