aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2008-02-05 01:31:04 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-05 12:44:29 -0500
commitbf8fde785b872282e7e86d9ea8a9c4e543985bb3 (patch)
treecb813edfbb04c8474caab0f8a26a8512a503cf82 /arch/um/os-Linux
parent7b5cc6ee6cf9001775c348bac09814a45f1276b7 (diff)
uml: miscellaneous code cleanups
Code tidying - the pid field of struct irq_fd isn't used, so it is removed os_set_fd_async needed to read flags before changing them, it doesn't need a pid passed in because it can call getpid itself, and a block of unused code needed deleting os_get_exec_close was unused, so it is removed ptrace_child called _exit for historical reasons which are no longer valid, so just calls exit instead 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>
Diffstat (limited to 'arch/um/os-Linux')
-rw-r--r--arch/um/os-Linux/file.c38
-rw-r--r--arch/um/os-Linux/start_up.c3
2 files changed, 13 insertions, 28 deletions
diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c
index 9387cb11c0ad..4f547d75b17e 100644
--- a/arch/um/os-Linux/file.c
+++ b/arch/um/os-Linux/file.c
@@ -328,19 +328,6 @@ int os_file_modtime(const char *file, unsigned long *modtime)
328 return 0; 328 return 0;
329} 329}
330 330
331int os_get_exec_close(int fd, int *close_on_exec)
332{
333 int ret;
334
335 CATCH_EINTR(ret = fcntl(fd, F_GETFD));
336
337 if(ret < 0)
338 return -errno;
339
340 *close_on_exec = (ret & FD_CLOEXEC) ? 1 : 0;
341 return ret;
342}
343
344int os_set_exec_close(int fd) 331int os_set_exec_close(int fd)
345{ 332{
346 int err; 333 int err;
@@ -380,30 +367,27 @@ int os_pipe(int *fds, int stream, int close_on_exec)
380 return err; 367 return err;
381} 368}
382 369
383int os_set_fd_async(int fd, int owner) 370int os_set_fd_async(int fd)
384{ 371{
385 int err; 372 int err, flags;
373
374 flags = fcntl(fd, F_GETFL);
375 if (flags < 0)
376 return -errno;
386 377
387 /* XXX This should do F_GETFL first */ 378 flags |= O_ASYNC | O_NONBLOCK;
388 if(fcntl(fd, F_SETFL, O_ASYNC | O_NONBLOCK) < 0){ 379 if (fcntl(fd, F_SETFL, flags) < 0) {
389 err = -errno; 380 err = -errno;
390 printk("os_set_fd_async : failed to set O_ASYNC and " 381 printk("os_set_fd_async : failed to set O_ASYNC and "
391 "O_NONBLOCK on fd # %d, errno = %d\n", fd, errno); 382 "O_NONBLOCK on fd # %d, errno = %d\n", fd, errno);
392 return err; 383 return err;
393 } 384 }
394#ifdef notdef
395 if(fcntl(fd, F_SETFD, 1) < 0){
396 printk("os_set_fd_async : Setting FD_CLOEXEC failed, "
397 "errno = %d\n", errno);
398 }
399#endif
400 385
401 if((fcntl(fd, F_SETSIG, SIGIO) < 0) || 386 if ((fcntl(fd, F_SETSIG, SIGIO) < 0) ||
402 (fcntl(fd, F_SETOWN, owner) < 0)){ 387 (fcntl(fd, F_SETOWN, os_getpid()) < 0)) {
403 err = -errno; 388 err = -errno;
404 printk("os_set_fd_async : Failed to fcntl F_SETOWN " 389 printk("os_set_fd_async : Failed to fcntl F_SETOWN "
405 "(or F_SETSIG) fd %d to pid %d, errno = %d\n", fd, 390 "(or F_SETSIG) fd %d, errno = %d\n", fd, errno);
406 owner, errno);
407 return err; 391 return err;
408 } 392 }
409 393
diff --git a/arch/um/os-Linux/start_up.c b/arch/um/os-Linux/start_up.c
index 6d56d15884fd..bcf0c9b86b10 100644
--- a/arch/um/os-Linux/start_up.c
+++ b/arch/um/os-Linux/start_up.c
@@ -60,7 +60,8 @@ static int ptrace_child(void)
60 * the UML code itself. 60 * the UML code itself.
61 */ 61 */
62 ret = 2; 62 ret = 2;
63 _exit(ret); 63
64 exit(ret);
64} 65}
65 66
66static void fatal_perror(const char *str) 67static void fatal_perror(const char *str)