@@ -29,9 +29,7 @@ impl PosixSpawnAttr {
29
29
let mut attr = mem:: MaybeUninit :: uninit ( ) ;
30
30
let res = unsafe { libc:: posix_spawnattr_init ( attr. as_mut_ptr ( ) ) } ;
31
31
32
- if res != 0 {
33
- return Err ( Errno :: from_raw ( res) ) ;
34
- }
32
+ Errno :: result ( res) ?;
35
33
36
34
let attr = unsafe { attr. assume_init ( ) } ;
37
35
Ok ( PosixSpawnAttr { attr } )
@@ -49,18 +47,14 @@ impl PosixSpawnAttr {
49
47
& mut self . attr as * mut libc:: posix_spawnattr_t ,
50
48
)
51
49
} ;
52
- if res != 0 {
53
- return Err ( Errno :: from_raw ( res) ) ;
54
- }
50
+ Errno :: result ( res) ?;
55
51
56
52
let res = unsafe {
57
53
libc:: posix_spawnattr_init (
58
54
& mut self . attr as * mut libc:: posix_spawnattr_t ,
59
55
)
60
56
} ;
61
- if res != 0 {
62
- return Err ( Errno :: from_raw ( res) ) ;
63
- }
57
+ Errno :: result ( res) ?;
64
58
65
59
Ok ( self )
66
60
}
@@ -75,9 +69,7 @@ impl PosixSpawnAttr {
75
69
flags. bits ( ) as libc:: c_short ,
76
70
)
77
71
} ;
78
- if res != 0 {
79
- return Err ( Errno :: from_raw ( res) ) ;
80
- }
72
+ Errno :: result ( res) ?;
81
73
82
74
Ok ( ( ) )
83
75
}
@@ -93,9 +85,7 @@ impl PosixSpawnAttr {
93
85
& mut flags,
94
86
)
95
87
} ;
96
- if res != 0 {
97
- return Err ( Errno :: from_raw ( res) ) ;
98
- }
88
+ Errno :: result ( res) ?;
99
89
100
90
Ok ( PosixSpawnFlags :: from_bits_truncate ( flags. into ( ) ) )
101
91
}
@@ -110,9 +100,7 @@ impl PosixSpawnAttr {
110
100
pgroup. as_raw ( ) ,
111
101
)
112
102
} ;
113
- if res != 0 {
114
- return Err ( Errno :: from_raw ( res) ) ;
115
- }
103
+ Errno :: result ( res) ?;
116
104
117
105
Ok ( ( ) )
118
106
}
@@ -129,9 +117,7 @@ impl PosixSpawnAttr {
129
117
& mut pid,
130
118
)
131
119
} ;
132
- if res != 0 {
133
- return Err ( Errno :: from_raw ( res) ) ;
134
- }
120
+ Errno :: result ( res) ?;
135
121
136
122
Ok ( Pid :: from_raw ( pid) )
137
123
}
@@ -148,9 +134,7 @@ impl PosixSpawnAttr {
148
134
sigdefault. as_ref( ) ,
149
135
)
150
136
} ;
151
- if res != 0 {
152
- return Err ( Errno :: from_raw( res) ) ;
153
- }
137
+ Errno :: result( res) ?;
154
138
155
139
Ok ( ( ) )
156
140
}
@@ -167,9 +151,7 @@ impl PosixSpawnAttr {
167
151
sigset. as_mut_ptr( ) ,
168
152
)
169
153
} ;
170
- if res != 0 {
171
- return Err ( Errno :: from_raw( res) ) ;
172
- }
154
+ Errno :: result( res) ?;
173
155
174
156
let sigdefault =
175
157
unsafe { SigSet :: from_sigset_t_unchecked( sigset. assume_init( ) ) } ;
@@ -186,9 +168,7 @@ impl PosixSpawnAttr {
186
168
sigdefault. as_ref( ) ,
187
169
)
188
170
} ;
189
- if res != 0 {
190
- return Err ( Errno :: from_raw( res) ) ;
191
- }
171
+ Errno :: result( res) ?;
192
172
193
173
Ok ( ( ) )
194
174
}
@@ -205,9 +185,7 @@ impl PosixSpawnAttr {
205
185
sigset. as_mut_ptr( ) ,
206
186
)
207
187
} ;
208
- if res != 0 {
209
- return Err ( Errno :: from_raw( res) ) ;
210
- }
188
+ Errno :: result( res) ?;
211
189
212
190
let sigdefault =
213
191
unsafe { SigSet :: from_sigset_t_unchecked( sigset. assume_init( ) ) } ;
@@ -268,16 +246,12 @@ impl PosixSpawnFileActions {
268
246
let res = unsafe {
269
247
libc:: posix_spawn_file_actions_init ( actions. as_mut_ptr ( ) )
270
248
} ;
271
-
272
- if res == 0 {
273
- Ok ( unsafe {
274
- PosixSpawnFileActions {
275
- fa : actions. assume_init ( ) ,
276
- }
277
- } )
278
- } else {
279
- Err ( Errno :: from_raw ( res) )
280
- }
249
+ Errno :: result ( res) ?;
250
+ Ok ( unsafe {
251
+ PosixSpawnFileActions {
252
+ fa : actions. assume_init ( ) ,
253
+ }
254
+ } )
281
255
}
282
256
283
257
/// Reinitialize the spawn file actions object.
@@ -292,18 +266,14 @@ impl PosixSpawnFileActions {
292
266
& mut self . fa as * mut libc:: posix_spawn_file_actions_t ,
293
267
)
294
268
} ;
295
- if res != 0 {
296
- return Err ( Errno :: from_raw ( res) ) ;
297
- }
269
+ Errno :: result ( res) ?;
298
270
299
271
let res = unsafe {
300
272
libc:: posix_spawn_file_actions_init (
301
273
& mut self . fa as * mut libc:: posix_spawn_file_actions_t ,
302
274
)
303
275
} ;
304
- if res != 0 {
305
- return Err ( Errno :: from_raw ( res) ) ;
306
- }
276
+ Errno :: result ( res) ?;
307
277
308
278
Ok ( self )
309
279
}
@@ -323,9 +293,7 @@ impl PosixSpawnFileActions {
323
293
newfd. as_fd ( ) . as_raw_fd ( ) ,
324
294
)
325
295
} ;
326
- if res != 0 {
327
- return Err ( Errno :: from_raw ( res) ) ;
328
- }
296
+ Errno :: result ( res) ?;
329
297
330
298
Ok ( ( ) )
331
299
}
@@ -351,9 +319,7 @@ impl PosixSpawnFileActions {
351
319
mode. bits( ) ,
352
320
)
353
321
} ) ?;
354
- if res != 0 {
355
- return Err ( Errno :: from_raw( res) ) ;
356
- }
322
+ Errno :: result( res) ?;
357
323
358
324
Ok ( ( ) )
359
325
}
@@ -369,9 +335,7 @@ impl PosixSpawnFileActions {
369
335
fd. as_fd ( ) . as_raw_fd ( ) ,
370
336
)
371
337
} ;
372
- if res != 0 {
373
- return Err ( Errno :: from_raw ( res) ) ;
374
- }
338
+ Errno :: result ( res) ?;
375
339
376
340
Ok ( ( ) )
377
341
}
@@ -428,11 +392,8 @@ pub fn posix_spawn<SA: AsRef<CStr>, SE: AsRef<CStr>>(
428
392
)
429
393
} ;
430
394
431
- if res == 0 {
432
- Ok ( Pid :: from_raw ( pid) )
433
- } else {
434
- Err ( Errno :: from_raw ( res) )
435
- }
395
+ Errno :: result ( res) ?;
396
+ Ok ( Pid :: from_raw ( pid) )
436
397
}
437
398
438
399
/// Create a new child process from the specified process image. See
@@ -460,9 +421,6 @@ pub fn posix_spawnp<SA: AsRef<CStr>, SE: AsRef<CStr>>(
460
421
)
461
422
} ;
462
423
463
- if res == 0 {
464
- Ok ( Pid :: from_raw ( pid) )
465
- } else {
466
- Err ( Errno :: from_raw ( res) )
467
- }
424
+ Errno :: result ( res) ?;
425
+ Ok ( Pid :: from_raw ( pid) )
468
426
}
0 commit comments