]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: declare addtimer/deltimer in runtime.h
authorDmitriy Vyukov <dvyukov@google.com>
Tue, 5 Mar 2013 07:38:15 +0000 (09:38 +0200)
committerDmitriy Vyukov <dvyukov@google.com>
Tue, 5 Mar 2013 07:38:15 +0000 (09:38 +0200)
In preparation for integrated network poller
(https://golang.org/cl/7326051),
this is required to handle deadlines.

R=golang-dev, remyoudompheng, rsc
CC=golang-dev
https://golang.org/cl/7446047

src/pkg/runtime/runtime.h
src/pkg/runtime/time.goc

index 9b43f29a59db217ccbf3f20049f9a13a4b404aec..585d6a536e0cc5720ceacf0cb65f93f7173ddaac 100644 (file)
@@ -761,6 +761,8 @@ int64       runtime·cputicks(void);
 int64  runtime·tickspersecond(void);
 void   runtime·blockevent(int64, int32);
 extern int64 runtime·blockprofilerate;
+void   runtime·addtimer(Timer*);
+bool   runtime·deltimer(Timer*);
 
 #pragma        varargck        argpos  runtime·printf 1
 #pragma        varargck        type    "d"     int32
index 2babb173df31465f5424042821e7700dc74d3511..6de989f5158c4d15d99bf9645657170c5add61bb 100644 (file)
@@ -15,7 +15,6 @@ package time
 
 static Timers timers;
 static void addtimer(Timer*);
-static bool deltimer(Timer*);
 
 // Package time APIs.
 // Godoc uses the comments in package time, not these.
@@ -31,15 +30,13 @@ func Sleep(ns int64) {
 func startTimer(t *Timer) {
        if(raceenabled)
                runtime·racerelease(t);
-       runtime·lock(&timers);
-       addtimer(t);
-       runtime·unlock(&timers);
+       runtime·addtimer(t);
 }
 
 // stopTimer removes t from the timer heap if it is there.
 // It returns true if t was removed, false if t wasn't even there.
 func stopTimer(t *Timer) (stopped bool) {
-       stopped = deltimer(t);
+       stopped = runtime·deltimer(t);
 }
 
 // C runtime.
@@ -79,6 +76,14 @@ runtime·tsleep(int64 ns, int8 *reason)
 
 static FuncVal timerprocv = {timerproc};
 
+void
+runtime·addtimer(Timer *t)
+{
+       runtime·lock(&timers);
+       addtimer(t);
+       runtime·unlock(&timers);
+}
+
 // Add a timer to the heap and start or kick the timer proc
 // if the new timer is earlier than any of the others.
 static void
@@ -121,8 +126,8 @@ addtimer(Timer *t)
 // Delete timer t from the heap.
 // Do not need to update the timerproc:
 // if it wakes up early, no big deal.
-static bool
-deltimer(Timer *t)
+bool
+runtime·deltimer(Timer *t)
 {
        int32 i;