aboutsummaryrefslogtreecommitdiff
path: root/comms/seyon/files/patch-SePort.c
blob: 096852803248fbbfcaa4e313f4b3ca4a6117a595 (plain) (blame)
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;
+	}
     }
   }