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    [W:0.020 / U:60.364 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site