@@ -56,10 +56,10 @@ pub struct Condvar<'self> {
5656 cond : & ' self sync:: Condvar < ' self >
5757}
5858
59- pub impl < ' self > Condvar < ' self > {
59+ impl < ' self > Condvar < ' self > {
6060 /// Atomically exit the associated ARC and block until a signal is sent.
6161 #[ inline( always) ]
62- fn wait ( & self ) { self . wait_on ( 0 ) }
62+ pub fn wait ( & self ) { self . wait_on ( 0 ) }
6363
6464 /**
6565 * Atomically exit the associated ARC and block on a specified condvar
@@ -68,7 +68,7 @@ pub impl<'self> Condvar<'self> {
6868 * wait() is equivalent to wait_on(0).
6969 */
7070 #[ inline( always) ]
71- fn wait_on ( & self , condvar_id : uint ) {
71+ pub fn wait_on ( & self , condvar_id : uint ) {
7272 assert ! ( !* self . failed) ;
7373 self . cond . wait_on ( condvar_id) ;
7474 // This is why we need to wrap sync::condvar.
@@ -77,28 +77,28 @@ pub impl<'self> Condvar<'self> {
7777
7878 /// Wake up a blocked task. Returns false if there was no blocked task.
7979 #[ inline( always) ]
80- fn signal ( & self ) -> bool { self . signal_on ( 0 ) }
80+ pub fn signal ( & self ) -> bool { self . signal_on ( 0 ) }
8181
8282 /**
8383 * Wake up a blocked task on a specified condvar (as
8484 * sync::cond.signal_on). Returns false if there was no blocked task.
8585 */
8686 #[ inline( always) ]
87- fn signal_on ( & self , condvar_id : uint ) -> bool {
87+ pub fn signal_on ( & self , condvar_id : uint ) -> bool {
8888 assert ! ( !* self . failed) ;
8989 self . cond . signal_on ( condvar_id)
9090 }
9191
9292 /// Wake up all blocked tasks. Returns the number of tasks woken.
9393 #[ inline( always) ]
94- fn broadcast ( & self ) -> uint { self . broadcast_on ( 0 ) }
94+ pub fn broadcast ( & self ) -> uint { self . broadcast_on ( 0 ) }
9595
9696 /**
9797 * Wake up all blocked tasks on a specified condvar (as
9898 * sync::cond.broadcast_on). Returns Returns the number of tasks woken.
9999 */
100100 #[ inline( always) ]
101- fn broadcast_on ( & self , condvar_id : uint ) -> uint {
101+ pub fn broadcast_on ( & self , condvar_id : uint ) -> uint {
102102 assert ! ( !* self . failed) ;
103103 self . cond . broadcast_on ( condvar_id)
104104 }
@@ -120,8 +120,8 @@ pub fn ARC<T:Const + Owned>(data: T) -> ARC<T> {
120120 * Access the underlying data in an atomically reference counted
121121 * wrapper.
122122 */
123- pub impl < T : Const +Owned > ARC < T > {
124- fn get < ' a > ( & ' a self ) -> & ' a T {
123+ impl < T : Const +Owned > ARC < T > {
124+ pub fn get < ' a > ( & ' a self ) -> & ' a T {
125125 unsafe { & * self . x . get_immut ( ) }
126126 }
127127}
@@ -173,7 +173,7 @@ impl<T:Owned> Clone for MutexARC<T> {
173173 }
174174}
175175
176- pub impl < T : Owned > MutexARC < T > {
176+ impl < T : Owned > MutexARC < T > {
177177
178178 /**
179179 * Access the underlying mutable data with mutual exclusion from other
@@ -199,7 +199,7 @@ pub impl<T:Owned> MutexARC<T> {
199199 * blocked on the mutex) will also fail immediately.
200200 */
201201 #[ inline( always) ]
202- unsafe fn access < U > ( & self , blk : & fn ( x : & mut T ) -> U ) -> U {
202+ pub unsafe fn access < U > ( & self , blk : & fn ( x : & mut T ) -> U ) -> U {
203203 unsafe {
204204 let state = self . x . get ( ) ;
205205 // Borrowck would complain about this if the function were
@@ -214,10 +214,10 @@ pub impl<T:Owned> MutexARC<T> {
214214
215215 /// As access(), but with a condvar, as sync::mutex.lock_cond().
216216 #[ inline( always) ]
217- unsafe fn access_cond < ' x , ' c , U > (
218- & self ,
219- blk : & fn ( x : & ' x mut T , c : & ' c Condvar ) -> U ) -> U
220- {
217+ pub unsafe fn access_cond < ' x , ' c , U > ( & self ,
218+ blk : & fn ( x : & ' x mut T ,
219+ c : & ' c Condvar ) -> U )
220+ -> U {
221221 let state = self . x . get ( ) ;
222222 do ( & ( * state) . lock ) . lock_cond |cond| {
223223 check_poison ( true , ( * state) . failed ) ;
@@ -302,16 +302,18 @@ pub fn rw_arc_with_condvars<T:Const + Owned>(
302302 RWARC { x : UnsafeAtomicRcBox :: new ( data) , cant_nest : ( ) }
303303}
304304
305- pub impl < T : Const + Owned > RWARC < T > {
305+ impl < T : Const + Owned > RWARC < T > {
306306 /// Duplicate a rwlock-protected ARC, as arc::clone.
307- fn clone ( & self ) -> RWARC < T > {
308- RWARC { x : self . x . clone ( ) ,
309- cant_nest : ( ) }
307+ pub fn clone ( & self ) -> RWARC < T > {
308+ RWARC {
309+ x : self . x . clone ( ) ,
310+ cant_nest : ( ) ,
311+ }
310312 }
311313
312314}
313315
314- pub impl < T : Const + Owned > RWARC < T > {
316+ impl < T : Const + Owned > RWARC < T > {
315317 /**
316318 * Access the underlying data mutably. Locks the rwlock in write mode;
317319 * other readers and writers will block.
@@ -323,7 +325,7 @@ pub impl<T:Const + Owned> RWARC<T> {
323325 * poison the ARC, so subsequent readers and writers will both also fail.
324326 */
325327 #[ inline( always) ]
326- fn write < U > ( & self , blk : & fn ( x : & mut T ) -> U ) -> U {
328+ pub fn write < U > ( & self , blk : & fn ( x : & mut T ) -> U ) -> U {
327329 unsafe {
328330 let state = self . x . get ( ) ;
329331 do ( * borrow_rwlock ( state) ) . write {
@@ -333,11 +335,12 @@ pub impl<T:Const + Owned> RWARC<T> {
333335 }
334336 }
335337 }
338+
336339 /// As write(), but with a condvar, as sync::rwlock.write_cond().
337340 #[ inline( always) ]
338- fn write_cond < ' x , ' c , U > ( & self ,
339- blk : & fn ( x : & ' x mut T , c : & ' c Condvar ) -> U )
340- -> U {
341+ pub fn write_cond < ' x , ' c , U > ( & self ,
342+ blk : & fn ( x : & ' x mut T , c : & ' c Condvar ) -> U )
343+ -> U {
341344 unsafe {
342345 let state = self . x . get ( ) ;
343346 do ( * borrow_rwlock ( state) ) . write_cond |cond| {
@@ -350,6 +353,7 @@ pub impl<T:Const + Owned> RWARC<T> {
350353 }
351354 }
352355 }
356+
353357 /**
354358 * Access the underlying data immutably. May run concurrently with other
355359 * reading tasks.
@@ -359,7 +363,7 @@ pub impl<T:Const + Owned> RWARC<T> {
359363 * Failing will unlock the ARC while unwinding. However, unlike all other
360364 * access modes, this will not poison the ARC.
361365 */
362- fn read < U > ( & self , blk : & fn ( x : & T ) -> U ) -> U {
366+ pub fn read < U > ( & self , blk : & fn ( x : & T ) -> U ) -> U {
363367 unsafe {
364368 let state = self . x . get ( ) ;
365369 do ( * state) . lock . read {
@@ -389,7 +393,7 @@ pub impl<T:Const + Owned> RWARC<T> {
389393 * }
390394 * ~~~
391395 */
392- fn write_downgrade < U > ( & self , blk : & fn ( v : RWWriteMode < T > ) -> U ) -> U {
396+ pub fn write_downgrade < U > ( & self , blk : & fn ( v : RWWriteMode < T > ) -> U ) -> U {
393397 unsafe {
394398 let state = self . x . get ( ) ;
395399 do ( * borrow_rwlock ( state) ) . write_downgrade |write_mode| {
@@ -404,7 +408,8 @@ pub impl<T:Const + Owned> RWARC<T> {
404408 }
405409
406410 /// To be called inside of the write_downgrade block.
407- fn downgrade < ' a > ( & self , token : RWWriteMode < ' a , T > ) -> RWReadMode < ' a , T > {
411+ pub fn downgrade < ' a > ( & self , token : RWWriteMode < ' a , T > )
412+ -> RWReadMode < ' a , T > {
408413 unsafe {
409414 // The rwlock should assert that the token belongs to us for us.
410415 let state = self . x . get ( ) ;
@@ -451,9 +456,9 @@ pub struct RWReadMode<'self, T> {
451456 token : sync:: RWlockReadMode < ' self > ,
452457}
453458
454- pub impl < ' self , T : Const + Owned > RWWriteMode < ' self , T > {
459+ impl < ' self , T : Const + Owned > RWWriteMode < ' self , T > {
455460 /// Access the pre-downgrade RWARC in write mode.
456- fn write < U > ( & mut self , blk : & fn ( x : & mut T ) -> U ) -> U {
461+ pub fn write < U > ( & mut self , blk : & fn ( x : & mut T ) -> U ) -> U {
457462 match * self {
458463 RWWriteMode {
459464 data : & ref mut data,
@@ -466,10 +471,11 @@ pub impl<'self, T:Const + Owned> RWWriteMode<'self, T> {
466471 }
467472 }
468473 }
474+
469475 /// Access the pre-downgrade RWARC in write mode with a condvar.
470- fn write_cond < ' x , ' c , U > ( & mut self ,
471- blk : & fn ( x : & ' x mut T , c : & ' c Condvar ) -> U )
472- -> U {
476+ pub fn write_cond < ' x , ' c , U > ( & mut self ,
477+ blk : & fn ( x : & ' x mut T , c : & ' c Condvar ) -> U )
478+ -> U {
473479 match * self {
474480 RWWriteMode {
475481 data : & ref mut data,
@@ -491,9 +497,9 @@ pub impl<'self, T:Const + Owned> RWWriteMode<'self, T> {
491497 }
492498}
493499
494- pub impl < ' self , T : Const + Owned > RWReadMode < ' self , T > {
500+ impl < ' self , T : Const + Owned > RWReadMode < ' self , T > {
495501 /// Access the post-downgrade rwlock in read mode.
496- fn read < U > ( & self , blk : & fn ( x : & T ) -> U ) -> U {
502+ pub fn read < U > ( & self , blk : & fn ( x : & T ) -> U ) -> U {
497503 match * self {
498504 RWReadMode {
499505 data : data,
0 commit comments