mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 13:58:49 +00:00
62562b80d0
The poll() call in SystemResourceMonitor.stop might fail even though there is something to read from the pipe, in some corner cases, and python won't let us know about it. In that case, an exception is thrown, leaving the SystemResourceMonitor (and its callers) in a weird state. In practice, this leads BuildMonitor.__exit__ to recall stop, which then fails. So when poll() throws an exception, we pretend there's still something to read, and we try to read anyways. If there is something to read, recv() will return it, otherwise, it will throw an exception of its own, which we catch, pretending we're done. Furthermore, when there is nothing to read from the pipe, poll() simply returns False, and our loop never sets `done` to True, and we then hit an assert, which doesn't have its place here, so we remove it. Finally, the other end of the pipe might have died at any time, making sending over the pipe fail, so we also protect against that. With all these changes, it feels like the reason to backout bug 1239939 in bug 1272782 should have been dealt with, and we can drop the timeout again. --HG-- extra : rebase_source : ac72dd5b2602cf3ffddfb429f95e02380f939893
Mozbase
Mozbase is a set of easy-to-use Python packages forming a supplemental standard library for Mozilla. It provides consistency and reduces redundancy in automation and other system-level software. All of Mozilla's test harnesses use mozbase to some degree, including Talos, mochitest, reftest, Autophone, and Eideticker.
Learn more about mozbase at the project page.
Read detailed docs online, or build them locally by running "make html" in the docs directory.