# HG changeset patch # User Mike Pavone # Date 1376218971 25200 # Node ID 224071eed9dd5375300445046db2fa8c85495f23 # Parent 5a6a55592c45e8fa5ea791269e10eca9d2b4e523 Add os sleep diff -r 5a6a55592c45 -r 224071eed9dd cbackend.js --- a/cbackend.js Sun Aug 11 03:01:05 2013 -0700 +++ b/cbackend.js Sun Aug 11 04:02:51 2013 -0700 @@ -775,6 +775,7 @@ os.addInclude(''); os.addInclude(''); os.addInclude(''); + os.addInclude(''); os.addMessage('write', { vars: {str: 'string *', intret: 'obj_int32 *', filedes: 'obj_int32 *'}, lines: [ @@ -905,6 +906,16 @@ 'return &(intret64->header);' ] }); + os.addMessage('sleep', { + vars: {osecs: 'object *', secs: 'obj_int32 *', intret: 'obj_int32 *'}, + lines: [ + 'osecs = va_arg(args, object *);', + 'secs = mcall(' + getMethodId("int32") + ', 1, osecs);', + 'intret = (obj_int32 *)make_object(&obj_int32_meta, NULL, 0);', + 'intret->num = sleep(secs->num);', + 'return &(intret->header);' + ] + }); toplevel.names['os'] = os; }