Mercurial > projects > ldc
comparison tango/tango/core/Thread.di @ 184:f5ca6bbbf1d7 trunk
[svn r200] Fixed: removed use of std.intrinsic.
Fixed: module info could potentially be masked by a previous reference, resulting in linking failure.
author | lindquist |
---|---|
date | Wed, 07 May 2008 22:01:59 +0200 |
parents | 1700239cab2e |
children |
comparison
equal
deleted
inserted
replaced
183:3cdf4b0c75a1 | 184:f5ca6bbbf1d7 |
---|---|
31 { | 31 { |
32 DWORD TLS_OUT_OF_INDEXES = -1u; | 32 DWORD TLS_OUT_OF_INDEXES = -1u; |
33 } | 33 } |
34 extern (Windows) | 34 extern (Windows) |
35 { | 35 { |
36 alias uint(* btex_fptr)(void*); | 36 alias uint function(void*) btex_fptr; |
37 } | 37 } |
38 extern (C) | 38 extern (C) |
39 { | 39 { |
40 uintptr_t _beginthreadex(void*, uint, btex_fptr, void*, uint, uint*); | 40 uintptr_t _beginthreadex(void*, uint, btex_fptr, void*, uint, uint*); |
41 } | 41 } |
100 static assert(false,"Unknown threading implementation."); | 100 static assert(false,"Unknown threading implementation."); |
101 } | 101 } |
102 } | 102 } |
103 class Thread | 103 class Thread |
104 { | 104 { |
105 this(void(* fn)(), size_t sz = 0) | 105 this(void function() fn, size_t sz = 0) |
106 in | 106 in |
107 { | 107 { |
108 assert(fn); | 108 assert(fn); |
109 } | 109 } |
110 body | 110 body |
265 ThreadAddr m_addr; | 265 ThreadAddr m_addr; |
266 Call m_call; | 266 Call m_call; |
267 char[] m_name; | 267 char[] m_name; |
268 union | 268 union |
269 { | 269 { |
270 void(* m_fn)(); | 270 void function() m_fn; |
271 void delegate() m_dg; | 271 void delegate() m_dg; |
272 } | 272 } |
273 size_t m_sz; | 273 size_t m_sz; |
274 version (Posix) | 274 version (Posix) |
275 { | 275 { |
479 } | 479 } |
480 class ThreadGroup | 480 class ThreadGroup |
481 { | 481 { |
482 final | 482 final |
483 { | 483 { |
484 Thread create(void(* fn)()); | 484 Thread create(void function() fn); |
485 } | 485 } |
486 final | 486 final |
487 { | 487 { |
488 Thread create(void delegate() dg); | 488 Thread create(void delegate() dg); |
489 } | 489 } |
592 } | 592 } |
593 } | 593 } |
594 } | 594 } |
595 class Fiber | 595 class Fiber |
596 { | 596 { |
597 this(void(* fn)(), size_t sz = PAGESIZE) | 597 this(void function() fn, size_t sz = PAGESIZE) |
598 in | 598 in |
599 { | 599 { |
600 assert(fn); | 600 assert(fn); |
601 } | 601 } |
602 body | 602 body |
684 DG, | 684 DG, |
685 } | 685 } |
686 Call m_call; | 686 Call m_call; |
687 union | 687 union |
688 { | 688 { |
689 void(* m_fn)(); | 689 void function() m_fn; |
690 void delegate() m_dg; | 690 void delegate() m_dg; |
691 } | 691 } |
692 bool m_isRunning; | 692 bool m_isRunning; |
693 Object m_unhandled; | 693 Object m_unhandled; |
694 State m_state; | 694 State m_state; |