1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
--- SePort.c.orig 2015-05-08 01:08:39 UTC
+++ SePort.c
@@ -1022,6 +1022,7 @@ lock_tty()
pid_t pid,
lckpid;
char *modemname;
+ int killret;
#if LF_USE_ASCII_PID
char pidstr[20],
lckpidstr[20];
@@ -1088,11 +1089,13 @@ relink:
#endif
lockPid = (pid_t) lckpid;
- if (kill(lckpid, 0) == 0 || errno != ESRCH) {
- SeErrorF("Device %s is locked by process %d", modem_port, lckpid, "");
- unlink(ltmp);
- return -1;
- }
+ killret = kill(lockPid, 0);
+ if(killret == 0 || (killret == -1 && errno != ESRCH)) {
+ SeErrorF("Device %s is locked by process %d.",
+ modem_port, lckpid, "");
+ unlink(ltmp);
+ return -1;
+ }
}
}
|