summaryrefslogtreecommitdiff
path: root/libgo/runtime/time.goc
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-02 08:16:14 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-02 08:16:14 +0000
commit766ea20013c206911829dcc3f01705578656d0f8 (patch)
treebde0a90afafe80c675b78627a527471633716094 /libgo/runtime/time.goc
parent50ebd62c4be721e1ff9751b6029e04050bad6746 (diff)
downloadgcc-766ea20013c206911829dcc3f01705578656d0f8.tar.gz
2012-07-02 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 189108 using svnmerge [gcc/] 2012-07-02 Basile Starynkevitch <basile@starynkevitch.net> * Makefile.in (MELT_REVISION_STR): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@189109 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/runtime/time.goc')
-rw-r--r--libgo/runtime/time.goc10
1 files changed, 8 insertions, 2 deletions
diff --git a/libgo/runtime/time.goc b/libgo/runtime/time.goc
index cae15e5946a..b3f0fb0278f 100644
--- a/libgo/runtime/time.goc
+++ b/libgo/runtime/time.goc
@@ -61,15 +61,21 @@ ready(int64 now, Eface e)
void
runtime_tsleep(int64 ns)
{
+ G* g;
Timer t;
- if(ns <= 0)
+ g = runtime_g();
+
+ if(ns <= 0) {
+ g->status = Grunning;
+ g->waitreason = nil;
return;
+ }
t.when = runtime_nanotime() + ns;
t.period = 0;
t.f = ready;
- t.arg.__object = runtime_g();
+ t.arg.__object = g;
addtimer(&t);
runtime_gosched();
}