tests/auto/qtipc/lackey/scripts/consumer.js
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 11 Jun 2010 14:24:45 +0300
changeset 25 e24348a560a6
parent 18 2f34d5167611
permissions -rw-r--r--
Revision: 201021 Kit: 2010123

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());