I was thinking about this some more ... the problem could also be that, in the original code, the section that writes into pStatus and pResponse is not under lock and thus their contents does not get synchronized with the thread waiting for the operation to complete. Then the cause for the behaviour might not be a spurious wakeup.

We can repeat the test by keeping the semaphore and introducing an additional mutex that will enforce the memory synchronization. And log spurious wakeups if we detect them.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/xrootd/xrootd","title":"xrootd/xrootd","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/xrootd/xrootd"}},"updates":{"snippets":[{"icon":"PERSON","message":"@osschar in #404: I was thinking about this some more ... the problem could also be that, in the original code, the section that writes into pStatus and pResponse is not under lock and thus their contents does not get synchronized with the thread waiting for the operation to complete. Then the cause for the behaviour might not be a spurious wakeup.\r\n\r\nWe can repeat the test by keeping the semaphore and introducing an additional mutex that will enforce the memory synchronization. And log spurious wakeups if we detect them."}],"action":{"name":"View Issue","url":"https://github.com/xrootd/xrootd/issues/404#issuecomment-240630637"}}}

Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1