47 lines
951 B
JavaScript
47 lines
951 B
JavaScript
// Simple jamsh test demonstrating lifetime resource control and negotiation
|
|
|
|
function hello() {
|
|
this.act = {
|
|
init: function () {
|
|
log('START '+privilege());
|
|
// negotiate more lifetime (default is 2000)
|
|
log(negotiate('LIFE',10000))
|
|
log(negotiate('SCHED',2000))
|
|
// if negotiation was successful, we can sleep in peace, else..
|
|
},
|
|
compute : function () {
|
|
var start=time();
|
|
while(true) {
|
|
if ((time()-start) > 1500) break;
|
|
};
|
|
log('Done');
|
|
},
|
|
stop: function () { log('STOP'); kill() }
|
|
}
|
|
this.trans = {
|
|
init:"compute",
|
|
compute:"stop",
|
|
}
|
|
this.on = {
|
|
error: function (e,arg) { log('Error: '+e) },
|
|
}
|
|
this.next="init"
|
|
}
|
|
|
|
// default platform settings
|
|
config({
|
|
IDLETIME:100,
|
|
LIFETIME:Infinity,
|
|
TIMESCHED:2000,
|
|
TIMEPOOL:10000,
|
|
RUNTIME:3000,
|
|
LEVEL:2,
|
|
verbose:3,
|
|
"log+":'time',
|
|
})
|
|
|
|
compile(hello,{verbose:1})
|
|
start()
|
|
|
|
var id=create(hello,[])
|