Ruben. The DRMA wait() semantics are like that of the POSIX wait() routine. Only one call to wait() will get the notification. Other calls to wait() must remain blocked. Yes, this creates a race condition. Yes, it's harder to implement in some systems. Yes, I've already argued this point with the group. No, I didn't get anywhere. ;) Daniel Ruben Santiago Montero wrote On 04/17/06 13:45,:
Hi,
Just a simple question on the MT_SUBMIT_MT_WAIT test. This test starts three threads, each one submits two jobs and call the drmaa_wait_job() function twice, with DRMAA_JOB_IDS_SESSION_ANY.
As all the threads share the same session, all of them are notified when a job finishes. So the test only waits for two jobs. Output from the test: <========================= starting test #41 (MT_SUBMIT_MT_WAIT) submitted job "85" submitted job "86" submitted job "87" submitted job "88" submitted job "89" submitted job "90" waited job "85" waited job "85" waited job "85" waited job "86" waited for last job waited job "86" waited for last job waited job "86" waited for last job successfully finished test #41 ============================>
If this test is supposed to wait for the six jobs either each thread wait for its "own" jobs (those submitted in the thread), or each thread waits six times for a DRMAA_JOB_IDS_SESSION_ANY.
Regards,
Ruben
-- ****************************************************** * Daniel Templeton UMPK18 x83749 * * Staff Engineer, Sun N1 Grid Engine * ****************************************************** * "What's the sense in never thinkin' 'bout the tomb * * When you're much too busy returning to the womb?" * * -They Might Be Giants * ******************************************************