tests/auto/qtipc/lackey/scripts/consumer.js
author Eckhart Koeppen <eckhart.koppen@nokia.com>
Thu, 22 Apr 2010 16:15:11 +0300
branchRCL_3
changeset 14 8c4229025c0b
parent 7 3f74d0d4af4c
permissions -rw-r--r--
930346f3335f271b808bd69409c708262673ba3a

function QVERIFY(x, debugInfo) {
    if (!(x)) {
        print(debugInfo);
        throw(debugInfo);
    }
}

var consumer = new ScriptSharedMemory;
consumer.setKey("market");

//print("consumer starting");
var tries = 0;;
while(!consumer.attach()) {
    if (tries == 5000) {
        var message = "consumer exiting, waiting too long";
        print(message);
        throw(message);
    }
    ++tries;
    consumer.sleep(1);
}
//print("consumer attached");


var i = 0;
while(true) {
    QVERIFY(consumer.lock(), "lock");
    if (consumer.get(0) == 'Q') {
        consumer.set(0, ++i);
        //print ("consumer sets" + i);
    }
    if (consumer.get(0) == 'E') {
        QVERIFY(consumer.unlock(), "unlock");
        break;
    }
    QVERIFY(consumer.unlock(), "unlock");
    consumer.sleep(10);
}

//print("consumer detaching");
QVERIFY(consumer.detach());