Mercurial > projects > ldc
annotate tests/mini/fiber.d @ 640:c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Fri, 03 Oct 2008 00:42:17 +0200 |
parents | |
children | 4ac97ec7c18e |
rev | line source |
---|---|
640
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
1 private import |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
2 tango.core.Thread; |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
3 |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
4 extern(C) void printf(char*, ...); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
5 |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
6 void foo() |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
7 { |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
8 printf("-- I am here\n"); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
9 Fiber.yield(); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
10 printf("-- Now I am here\n"); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
11 } |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
12 |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
13 void main() |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
14 { |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
15 Fiber f = new Fiber(&foo); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
16 |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
17 printf("Running f once\n"); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
18 f.call(); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
19 printf("Running f again\n"); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
20 f.call(); |
c2a342b5d8e5
Made Fibers work with LLVMDC on x86 Posix.
Christian Kamm <kamm incasoftware de>
parents:
diff
changeset
|
21 } |