device_open is common code -- moved into utility.c

-Erik
This commit is contained in:
Erik Andersen
2000-02-07 20:31:19 +00:00
parent 79ac30da83
commit 31cf8e0056
6 changed files with 25 additions and 76 deletions

View File

@ -1121,6 +1121,28 @@ extern long getNum (const char *cp)
#endif /* BB_DD || BB_TAIL */
#if defined BB_INIT || defined BB_SYSLOGD
/* try to open up the specified device */
extern int device_open(char *device, int mode)
{
int m, f, fd = -1;
m = mode | O_NONBLOCK;
/* Retry up to 5 times */
for (f = 0; f < 5; f++)
if ((fd = open(device, m, 0600)) >= 0)
break;
if (fd < 0)
return fd;
/* Reset original flags. */
if (m != mode)
fcntl(fd, F_SETFL, mode);
return fd;
}
#endif /* BB_INIT BB_SYSLOGD */
#if defined BB_INIT || defined BB_HALT || defined BB_REBOOT
#if ! defined BB_FEATURE_USE_PROCFS