Patent ID: 7950018

Claim:
A computer-implemented method of synchronizing execution without synchronization primitives, comprising: providing, in code of a first browser instance, a first blocking instruction that when executed on a computer, blocks by iteratively launching a modal dialog and waiting until the modal dialog closes before the first browser instance checks to see if a first flag-setting instruction in code of a second browser instance has set a first flag indicating that the second browser instance has reached a ready state; providing, in the code of the second browser instance, the first flag-setting instruction that when executed on the computer, sets the first flag, thereby allowing the first blocking instruction to unblock; providing, in the code of the second browser instance, a second blocking instruction that when executed on the computer, blocks until a second flag-setting instruction in the code of the first browser instance sets a second flag indicating that the first browser instance reaches a finished state; and providing, in the code of the first browser instance, the second flag-setting instruction that when executed on the computer, sets the second flag, thereby allowing the second blocking instruction to unblock.