@@ -121,7 +121,7 @@ fn test_aio_suspend() {
121
121
}
122
122
123
123
assert ! ( aio_return( & mut wcb) . unwrap( ) as usize == WBUF . len( ) ) ;
124
- assert ! ( aio_return( & mut rcb) . unwrap( ) as usize == rbuf . len( ) ) ;
124
+ assert ! ( aio_return( & mut rcb) . unwrap( ) as usize == WBUF . len( ) ) ;
125
125
}
126
126
127
127
// Test a simple aio operation with no completion notification. We must poll
@@ -133,17 +133,19 @@ fn test_aio_read() {
133
133
const EXPECT : & ' static [ u8 ] = b"cdef" ;
134
134
let mut f = tempfile ( ) . unwrap ( ) ;
135
135
f. write ( INITIAL ) . unwrap ( ) ;
136
- let mut aiocb = AioCb :: from_mut_slice ( f. as_raw_fd ( ) ,
137
- 2 , //offset
138
- & mut rbuf,
139
- 0 , //priority
140
- SigevNotify :: SigevNone ,
141
- LioOpcode :: LIO_NOP ) ;
142
- aio_read ( & mut aiocb) . unwrap ( ) ;
143
-
144
- let err = poll_aio ( & mut aiocb) ;
145
- assert ! ( err == Ok ( ( ) ) ) ;
146
- assert ! ( aio_return( & mut aiocb) . unwrap( ) as usize == rbuf. len( ) ) ;
136
+ {
137
+ let mut aiocb = AioCb :: from_mut_slice ( f. as_raw_fd ( ) ,
138
+ 2 , //offset
139
+ & mut rbuf,
140
+ 0 , //priority
141
+ SigevNotify :: SigevNone ,
142
+ LioOpcode :: LIO_NOP ) ;
143
+ aio_read ( & mut aiocb) . unwrap ( ) ;
144
+
145
+ let err = poll_aio ( & mut aiocb) ;
146
+ assert ! ( err == Ok ( ( ) ) ) ;
147
+ assert ! ( aio_return( & mut aiocb) . unwrap( ) as usize == EXPECT . len( ) ) ;
148
+ }
147
149
148
150
assert ! ( rbuf == EXPECT ) ;
149
151
}
@@ -241,29 +243,28 @@ fn test_lio_listio_wait() {
241
243
242
244
f. write ( INITIAL ) . unwrap ( ) ;
243
245
244
- let mut wcb = unsafe {
245
- AioCb :: from_slice ( f. as_raw_fd ( ) ,
246
- 2 , //offset
247
- & WBUF ,
248
- 0 , //priority
249
- SigevNotify :: SigevNone ,
250
- LioOpcode :: LIO_WRITE )
251
- } ;
252
-
253
- let mut rcb = AioCb :: from_mut_slice ( f. as_raw_fd ( ) ,
254
- 8 , //offset
255
- & mut rbuf,
256
- 0 , //priority
257
- SigevNotify :: SigevNone ,
258
- LioOpcode :: LIO_READ ) ;
259
246
{
260
- let cbbuf = [ & mut wcb, & mut rcb] ;
261
- let err = lio_listio ( LioMode :: LIO_WAIT , & cbbuf[ ..] , SigevNotify :: SigevNone ) ;
247
+ let mut wcb = unsafe {
248
+ AioCb :: from_slice ( f. as_raw_fd ( ) ,
249
+ 2 , //offset
250
+ & WBUF ,
251
+ 0 , //priority
252
+ SigevNotify :: SigevNone ,
253
+ LioOpcode :: LIO_WRITE )
254
+ } ;
255
+
256
+ let mut rcb = AioCb :: from_mut_slice ( f. as_raw_fd ( ) ,
257
+ 8 , //offset
258
+ & mut rbuf,
259
+ 0 , //priority
260
+ SigevNotify :: SigevNone ,
261
+ LioOpcode :: LIO_READ ) ;
262
+ let err = lio_listio ( LioMode :: LIO_WAIT , & [ & mut wcb, & mut rcb] , SigevNotify :: SigevNone ) ;
262
263
err. expect ( "lio_listio failed" ) ;
263
- }
264
264
265
- assert ! ( aio_return( & mut wcb) . unwrap( ) as usize == WBUF . len( ) ) ;
266
- assert ! ( aio_return( & mut rcb) . unwrap( ) as usize == rbuf. len( ) ) ;
265
+ assert ! ( aio_return( & mut wcb) . unwrap( ) as usize == WBUF . len( ) ) ;
266
+ assert ! ( aio_return( & mut rcb) . unwrap( ) as usize == WBUF . len( ) ) ;
267
+ }
267
268
assert ! ( rbuf == b"3456" ) ;
268
269
269
270
f. seek ( SeekFrom :: Start ( 0 ) ) . unwrap ( ) ;
@@ -286,31 +287,30 @@ fn test_lio_listio_nowait() {
286
287
287
288
f. write ( INITIAL ) . unwrap ( ) ;
288
289
289
- let mut wcb = unsafe {
290
- AioCb :: from_slice ( f. as_raw_fd ( ) ,
291
- 2 , //offset
292
- & WBUF ,
293
- 0 , //priority
294
- SigevNotify :: SigevNone ,
295
- LioOpcode :: LIO_WRITE )
296
- } ;
297
-
298
- let mut rcb = AioCb :: from_mut_slice ( f. as_raw_fd ( ) ,
299
- 8 , //offset
300
- & mut rbuf,
301
- 0 , //priority
302
- SigevNotify :: SigevNone ,
303
- LioOpcode :: LIO_READ ) ;
304
290
{
305
- let cbbuf = [ & mut wcb, & mut rcb] ;
306
- let err = lio_listio ( LioMode :: LIO_NOWAIT , & cbbuf[ ..] , SigevNotify :: SigevNone ) ;
291
+ let mut wcb = unsafe {
292
+ AioCb :: from_slice ( f. as_raw_fd ( ) ,
293
+ 2 , //offset
294
+ & WBUF ,
295
+ 0 , //priority
296
+ SigevNotify :: SigevNone ,
297
+ LioOpcode :: LIO_WRITE )
298
+ } ;
299
+
300
+ let mut rcb = AioCb :: from_mut_slice ( f. as_raw_fd ( ) ,
301
+ 8 , //offset
302
+ & mut rbuf,
303
+ 0 , //priority
304
+ SigevNotify :: SigevNone ,
305
+ LioOpcode :: LIO_READ ) ;
306
+ let err = lio_listio ( LioMode :: LIO_NOWAIT , & [ & mut wcb, & mut rcb] , SigevNotify :: SigevNone ) ;
307
307
err. expect ( "lio_listio failed" ) ;
308
- }
309
308
310
- poll_aio ( & mut wcb) . unwrap ( ) ;
311
- poll_aio ( & mut rcb) . unwrap ( ) ;
312
- assert ! ( aio_return( & mut wcb) . unwrap( ) as usize == WBUF . len( ) ) ;
313
- assert ! ( aio_return( & mut rcb) . unwrap( ) as usize == rbuf. len( ) ) ;
309
+ poll_aio ( & mut wcb) . unwrap ( ) ;
310
+ poll_aio ( & mut rcb) . unwrap ( ) ;
311
+ assert ! ( aio_return( & mut wcb) . unwrap( ) as usize == WBUF . len( ) ) ;
312
+ assert ! ( aio_return( & mut rcb) . unwrap( ) as usize == WBUF . len( ) ) ;
313
+ }
314
314
assert ! ( rbuf == b"3456" ) ;
315
315
316
316
f. seek ( SeekFrom :: Start ( 0 ) ) . unwrap ( ) ;
@@ -338,34 +338,33 @@ fn test_lio_listio_signal() {
338
338
339
339
f. write ( INITIAL ) . unwrap ( ) ;
340
340
341
- let mut wcb = unsafe {
342
- AioCb :: from_slice ( f. as_raw_fd ( ) ,
343
- 2 , //offset
344
- & WBUF ,
345
- 0 , //priority
346
- SigevNotify :: SigevNone ,
347
- LioOpcode :: LIO_WRITE )
348
- } ;
349
-
350
- let mut rcb = AioCb :: from_mut_slice ( f. as_raw_fd ( ) ,
351
- 8 , //offset
352
- & mut rbuf,
353
- 0 , //priority
354
- SigevNotify :: SigevNone ,
355
- LioOpcode :: LIO_READ ) ;
356
- unsafe { signaled = 0 } ;
357
- unsafe { sigaction ( Signal :: SIGUSR2 , & sa) } . unwrap ( ) ;
358
341
{
359
- let cbbuf = [ & mut wcb, & mut rcb] ;
360
- let err = lio_listio ( LioMode :: LIO_NOWAIT , & cbbuf[ ..] , sigev_notify) ;
342
+ let mut wcb = unsafe {
343
+ AioCb :: from_slice ( f. as_raw_fd ( ) ,
344
+ 2 , //offset
345
+ & WBUF ,
346
+ 0 , //priority
347
+ SigevNotify :: SigevNone ,
348
+ LioOpcode :: LIO_WRITE )
349
+ } ;
350
+
351
+ let mut rcb = AioCb :: from_mut_slice ( f. as_raw_fd ( ) ,
352
+ 8 , //offset
353
+ & mut rbuf,
354
+ 0 , //priority
355
+ SigevNotify :: SigevNone ,
356
+ LioOpcode :: LIO_READ ) ;
357
+ unsafe { signaled = 0 } ;
358
+ unsafe { sigaction ( Signal :: SIGUSR2 , & sa) } . unwrap ( ) ;
359
+ let err = lio_listio ( LioMode :: LIO_NOWAIT , & [ & mut wcb, & mut rcb] , sigev_notify) ;
361
360
err. expect ( "lio_listio failed" ) ;
362
- }
363
- while unsafe { signaled == 0 } {
364
- thread:: sleep ( time:: Duration :: from_millis ( 10 ) ) ;
365
- }
361
+ while unsafe { signaled == 0 } {
362
+ thread:: sleep ( time:: Duration :: from_millis ( 10 ) ) ;
363
+ }
366
364
367
- assert ! ( aio_return( & mut wcb) . unwrap( ) as usize == WBUF . len( ) ) ;
368
- assert ! ( aio_return( & mut rcb) . unwrap( ) as usize == rbuf. len( ) ) ;
365
+ assert ! ( aio_return( & mut wcb) . unwrap( ) as usize == WBUF . len( ) ) ;
366
+ assert ! ( aio_return( & mut rcb) . unwrap( ) as usize == WBUF . len( ) ) ;
367
+ }
369
368
assert ! ( rbuf == b"3456" ) ;
370
369
371
370
f. seek ( SeekFrom :: Start ( 0 ) ) . unwrap ( ) ;
0 commit comments