diff options
author | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2001-04-27 05:04:57 +0000 |
---|---|---|
committer | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2001-04-27 05:04:57 +0000 |
commit | 850d421bcdf6f502f9e8e0b8be3ba4c75f31a82c (patch) | |
tree | 28dd45bfdc2b53e3d1be653408d485419a49a410 /lcd4linux.c | |
parent | 7bd45509770b7daf6c7e083b9e584dccf0aacb7f (diff) | |
download | lcd4linux-850d421bcdf6f502f9e8e0b8be3ba4c75f31a82c.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
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@132 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to '')
-rw-r--r-- | lcd4linux.c | 18 |
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)); |