aboutsummaryrefslogtreecommitdiffstats
path: root/lcd4linux.c
diff options
context:
space:
mode:
authorreinelt <>2001-04-27 05:04:57 +0000
committerreinelt <>2001-04-27 05:04:57 +0000
commit5cbe3de330c73d872a58699bf49ae42125c67b11 (patch)
tree28dd45bfdc2b53e3d1be653408d485419a49a410 /lcd4linux.c
parent2c64f2a07f139e300151f9e7e30333a8ab041c6e (diff)
downloadlcd4linux-5cbe3de330c73d872a58699bf49ae42125c67b11.tar.gz
[lcd4linux @ 2001-04-27 05:04:57 by reinelt]
replaced OPEN_MAX with sysconf() replaced mktemp() with mkstemp() unlock serial port if open() fails
Diffstat (limited to 'lcd4linux.c')
-rw-r--r--lcd4linux.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/lcd4linux.c b/lcd4linux.c
index 7e991f4..e763a5d 100644
--- a/lcd4linux.c
+++ b/lcd4linux.c
@@ -1,4 +1,4 @@
-/* $Id: lcd4linux.c,v 1.32 2001/03/13 07:41:22 reinelt Exp $
+/* $Id: lcd4linux.c,v 1.33 2001/04/27 05:04:57 reinelt Exp $
*
* LCD4Linux
*
@@ -20,6 +20,12 @@
*
*
* $Log: lcd4linux.c,v $
+ * Revision 1.33 2001/04/27 05:04:57 reinelt
+ *
+ * replaced OPEN_MAX with sysconf()
+ * replaced mktemp() with mkstemp()
+ * unlock serial port if open() fails
+ *
* Revision 1.32 2001/03/13 07:41:22 reinelt
*
* added NEWS file
@@ -181,7 +187,6 @@
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
-#include <limits.h>
#include <errno.h>
#include <signal.h>
@@ -431,12 +436,13 @@ int main (int argc, char *argv[])
lcd_quit();
if (got_signal==SIGHUP) {
- int i, j;
+ long fd;
debug ("restarting...");
// close all files on exec
- for (i=3; i<OPEN_MAX; i++) {
- if ((j=fcntl(i,F_GETFD,0))!=-1)
- fcntl(i,F_SETFD,j|FD_CLOEXEC);
+ for (fd=sysconf(_SC_OPEN_MAX); fd>2; fd--) {
+ int flag;
+ if ((flag=fcntl(fd,F_GETFD,0))!=-1)
+ fcntl(fd,F_SETFD,flag|FD_CLOEXEC);
}
execv (my_argv[0], my_argv);
error ("execv() failed: %s", strerror(errno));