uml: remove os_* usage from userspace files

This patch fixes some userspace files which were calling libc through the os_*
wrappers.

It turns out that there was only one user of os_new_tty_pgrp, so it can be
deleted.

There are also some style and whitespace fixes in here.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Jeff Dike
2007-10-16 01:27:08 -07:00
committed by Linus Torvalds
parent 28078e8f97
commit 8ca842c4b5
8 changed files with 186 additions and 219 deletions

View File

@@ -134,12 +134,12 @@ static int winch_thread(void *arg)
struct winch_data *data = arg;
sigset_t sigs;
int pty_fd, pipe_fd;
int count, err;
int count;
char c = 1;
pty_fd = data->pty_fd;
pipe_fd = data->pipe_fd;
count = os_write_file(pipe_fd, &c, sizeof(c));
count = write(pipe_fd, &c, sizeof(c));
if (count != sizeof(c))
printk(UM_KERN_ERR "winch_thread : failed to write "
"synchronization byte, err = %d\n", -count);
@@ -167,10 +167,15 @@ static int winch_thread(void *arg)
exit(1);
}
err = os_new_tty_pgrp(pty_fd, os_getpid());
if (err < 0) {
printk(UM_KERN_ERR "winch_thread : new_tty_pgrp failed on "
"fd %d err = %d\n", pty_fd, -err);
if(ioctl(pty_fd, TIOCSCTTY, 0) < 0){
printk(UM_KERN_ERR "winch_thread : TIOCSCTTY failed on "
"fd %d err = %d\n", pty_fd, errno);
exit(1);
}
if(tcsetpgrp(pty_fd, os_getpid()) < 0){
printk(UM_KERN_ERR "winch_thread : tcsetpgrp failed on "
"fd %d err = %d\n", pty_fd, errno);
exit(1);
}
@@ -180,10 +185,10 @@ static int winch_thread(void *arg)
* kernel semaphores. We don't use SysV semaphores because they are
* persistent.
*/
count = os_read_file(pipe_fd, &c, sizeof(c));
count = read(pipe_fd, &c, sizeof(c));
if (count != sizeof(c))
printk(UM_KERN_ERR "winch_thread : failed to read "
"synchronization byte, err = %d\n", -count);
"synchronization byte, err = %d\n", errno);
while(1) {
/*
@@ -192,10 +197,10 @@ static int winch_thread(void *arg)
*/
sigsuspend(&sigs);
count = os_write_file(pipe_fd, &c, sizeof(c));
count = write(pipe_fd, &c, sizeof(c));
if (count != sizeof(c))
printk(UM_KERN_ERR "winch_thread : write failed, "
"err = %d\n", -count);
"err = %d\n", errno);
}
}
@@ -229,11 +234,11 @@ static int winch_tramp(int fd, struct tty_struct *tty, int *fd_out,
}
*fd_out = fds[0];
n = os_read_file(fds[0], &c, sizeof(c));
n = read(fds[0], &c, sizeof(c));
if (n != sizeof(c)) {
printk(UM_KERN_ERR "winch_tramp : failed to read "
"synchronization byte\n");
printk(UM_KERN_ERR "read failed, err = %d\n", -n);
printk(UM_KERN_ERR "read failed, err = %d\n", errno);
printk(UM_KERN_ERR "fd %d will not support SIGWINCH\n", fd);
err = -EINVAL;
goto out_close;
@@ -248,8 +253,8 @@ static int winch_tramp(int fd, struct tty_struct *tty, int *fd_out,
return err;
out_close:
os_close_file(fds[1]);
os_close_file(fds[0]);
close(fds[1]);
close(fds[0]);
out:
return err;
}
@@ -271,9 +276,9 @@ void register_winch(int fd, struct tty_struct *tty)
register_winch_irq(thread_fd, fd, thread, tty, stack);
count = os_write_file(thread_fd, &c, sizeof(c));
count = write(thread_fd, &c, sizeof(c));
if (count != sizeof(c))
printk(UM_KERN_ERR "register_winch : failed to write "
"synchronization byte, err = %d\n", -count);
"synchronization byte, err = %d\n", errno);
}
}

View File

@@ -1,14 +1,13 @@
/*
* Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
* Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
* Licensed under the GPL
*/
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include "user.h"
#include "mconsole.h"
#include "os.h"
#include "user.h"
struct dog_data {
int stdin;
@@ -23,10 +22,10 @@ static void pre_exec(void *d)
dup2(data->stdin, 0);
dup2(data->stdout, 1);
dup2(data->stdout, 2);
os_close_file(data->stdin);
os_close_file(data->stdout);
os_close_file(data->close_me[0]);
os_close_file(data->close_me[1]);
close(data->stdin);
close(data->stdout);
close(data->close_me[0]);
close(data->close_me[1]);
}
int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock)
@@ -40,13 +39,13 @@ int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock)
char **args = NULL;
err = os_pipe(in_fds, 1, 0);
if(err < 0){
if (err < 0) {
printk("harddog_open - os_pipe failed, err = %d\n", -err);
goto out;
}
err = os_pipe(out_fds, 1, 0);
if(err < 0){
if (err < 0) {
printk("harddog_open - os_pipe failed, err = %d\n", -err);
goto out_close_in;
}
@@ -56,7 +55,7 @@ int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock)
data.close_me[0] = out_fds[1];
data.close_me[1] = in_fds[0];
if(sock != NULL){
if (sock != NULL) {
mconsole_args[2] = sock;
args = mconsole_args;
}
@@ -68,25 +67,25 @@ int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock)
pid = run_helper(pre_exec, &data, args);
os_close_file(out_fds[0]);
os_close_file(in_fds[1]);
close(out_fds[0]);
close(in_fds[1]);
if(pid < 0){
if (pid < 0) {
err = -pid;
printk("harddog_open - run_helper failed, errno = %d\n", -err);
goto out_close_out;
}
n = os_read_file(in_fds[0], &c, sizeof(c));
if(n == 0){
n = read(in_fds[0], &c, sizeof(c));
if (n == 0) {
printk("harddog_open - EOF on watchdog pipe\n");
helper_wait(pid);
err = -EIO;
goto out_close_out;
}
else if(n < 0){
else if (n < 0) {
printk("harddog_open - read of watchdog pipe failed, "
"err = %d\n", -n);
"err = %d\n", errno);
helper_wait(pid);
err = n;
goto out_close_out;
@@ -96,19 +95,19 @@ int start_watchdog(int *in_fd_ret, int *out_fd_ret, char *sock)
return 0;
out_close_in:
os_close_file(in_fds[0]);
os_close_file(in_fds[1]);
close(in_fds[0]);
close(in_fds[1]);
out_close_out:
os_close_file(out_fds[0]);
os_close_file(out_fds[1]);
close(out_fds[0]);
close(out_fds[1]);
out:
return err;
}
void stop_watchdog(int in_fd, int out_fd)
{
os_close_file(in_fd);
os_close_file(out_fd);
close(in_fd);
close(out_fd);
}
int ping_watchdog(int fd)
@@ -116,10 +115,11 @@ int ping_watchdog(int fd)
int n;
char c = '\n';
n = os_write_file(fd, &c, sizeof(c));
if(n != sizeof(c)){
printk("ping_watchdog - write failed, err = %d\n", -n);
if(n < 0)
n = write(fd, &c, sizeof(c));
if (n != sizeof(c)) {
printk("ping_watchdog - write failed, ret = %d, err = %d\n",
n, errno);
if (n < 0)
return n;
return -EIO;
}