lkml.org 
[lkml]   [2009]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 4/8] page-types: introduce checked_open()
This helps merge duplicate code (now and future)
and outstand the main logic.

CC: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
Documentation/vm/page-types.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
--- linux-mm.orig/Documentation/vm/page-types.c 2009-09-16 17:13:24.000000000 +0800
+++ linux-mm/Documentation/vm/page-types.c 2009-09-16 17:14:07.000000000 +0800
@@ -211,6 +211,18 @@ static void fatal(const char *x, ...)
exit(EXIT_FAILURE);
}

+int checked_open(const char *pathname, int flags)
+{
+ int fd = open(pathname, flags);
+
+ if (fd < 0) {
+ perror(pathname);
+ exit(EXIT_FAILURE);
+ }
+
+ return fd;
+}
+

/*
* page flag names
@@ -531,11 +543,7 @@ static void walk_addr_ranges(void)
{
int i;

- kpageflags_fd = open(PROC_KPAGEFLAGS, O_RDONLY);
- if (kpageflags_fd < 0) {
- perror(PROC_KPAGEFLAGS);
- exit(EXIT_FAILURE);
- }
+ kpageflags_fd = checked_open(PROC_KPAGEFLAGS, O_RDONLY);

if (!nr_addr_ranges)
add_addr_range(0, ULONG_MAX);
@@ -628,11 +636,7 @@ static void parse_pid(const char *str)
opt_pid = parse_number(str);

sprintf(buf, "/proc/%d/pagemap", opt_pid);
- pagemap_fd = open(buf, O_RDONLY);
- if (pagemap_fd < 0) {
- perror(buf);
- exit(EXIT_FAILURE);
- }
+ pagemap_fd = checked_open(buf, O_RDONLY);

sprintf(buf, "/proc/%d/maps", opt_pid);
file = fopen(buf, "r");
--



\
 
 \ /
  Last update: 2009-09-16 12:33    [from the cache]
©2003-2011 Jasper Spaans