Просмотр исходного кода

Using getpid from nix instead of procinfo.stat

themultiplexer 8 лет назад
Родитель
Сommit
42b7ef778b
2 измененных файлов: 8 добавлений и 16 удалений
  1. 2
    1
      hw5/task1/Cargo.toml
  2. 6
    15
      hw5/task1/src/main.rs

+ 2
- 1
hw5/task1/Cargo.toml Просмотреть файл

@@ -4,5 +4,6 @@ version = "0.1.0"
4 4
 authors = ["Lorenz Bung <lorenz.bung@googlemail.com>"]
5 5
 
6 6
 [dependencies]
7
+procinfo="^0.4.2"
7 8
 nix="0.9.0"
8
-procinfo="0.4.2"
9
+

+ 6
- 15
hw5/task1/src/main.rs Просмотреть файл

@@ -3,6 +3,7 @@ extern crate nix;
3 3
 
4 4
 use std::env::args;
5 5
 use std::process;
6
+use nix::unistd::getpid;
6 7
 
7 8
 mod unit_tests;
8 9
 mod zombie;
@@ -14,25 +15,15 @@ fn main() {
14 15
 
15 16
     if arguments.len() == 2 {
16 17
 
17
-
18
-        match procinfo::pid::stat_self(){
19
-            Ok(stat) => {
20
-                let result = child::run_childs(stat.pid, &arguments[1]);
21
-                match result {
22
-                    Ok(_) => {},
23
-                    Err(e) => {
24
-                        println!("{}", e);
25
-                        process::exit(1)
26
-                    },
27
-                }
28
-            },
29
-            Err(_) => {
30
-                println!("Couldn't retrieve my own PID.");
18
+        let result = child::run_childs(getpid(), &arguments[1]);
19
+        match result {
20
+            Ok(_) => {},
21
+            Err(e) => {
22
+                println!("{}", e);
31 23
                 process::exit(1)
32 24
             },
33 25
         }
34 26
 
35
-
36 27
     } else {
37 28
         zombie::run_zombie();
38 29
     }

Загрузка…
Отмена
Сохранить