[Bug 1652652] Re: mistake in example in getrlimit(2)

Reverend Homer 1652652 at bugs.launchpad.net
Mon Dec 26 17:17:11 UTC 2016


Actually I don't know if it is a bug or architecture specific thing, so
convert this to the question

** Changed in: manpages (Ubuntu)
       Status: New => Invalid

** Converted to question:
   https://answers.launchpad.net/ubuntu/+source/manpages/+question/412735

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to manpages in Ubuntu.
https://bugs.launchpad.net/bugs/1652652

Title:
  mistake in example in getrlimit(2)

Status in manpages package in Ubuntu:
  Invalid

Bug description:
  here is example from getrlimit(2):

  #define _GNU_SOURCE
  #define _FILE_OFFSET_BITS 64
  #include <stdio.h>
  #include <time.h>
  #include <stdlib.h>
  #include <unistd.h>
  #include <sys/resource.h>

  #define errExit(msg)                                do { perror(msg); exit(EXIT_FAILURE); \
  } while (0)

  int
  main(int argc, char *argv[])
  {
      struct rlimit old, new;
      struct rlimit *newp;
      pid_t pid;

      if (!(argc == 2 || argc == 4)) {
  	fprintf(stderr, "Usage: %s <pid> [<new-soft-limit> "
  		"<new-hard-limit>]\n", argv[0]);
  	exit(EXIT_FAILURE);
      }

      pid = atoi(argv[1]);        /* PID of target process */

      newp = NULL;
      if (argc == 4) {
  	new.rlim_cur = atoi(argv[2]);
  	new.rlim_max = atoi(argv[3]);
  	newp = &new;
      }

      /* Set CPU time limit of target process; retrieve and display
         previous limit */

      if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)
  	errExit("prlimit-1");
      printf("Previous limits: soft=%lld; hard=%lld\n",
  	    (long long) old.rlim_cur, (long long) old.rlim_max);

      /* Retrieve and display new CPU time limit */

      if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)
  	errExit("prlimit-2");
      printf("New limits: soft=%lld; hard=%lld\n",
  	    (long long) old.rlim_cur, (long long) old.rlim_max);

      exit(EXIT_FAILURE);
  }

  As you can see, this program will always exit with EXIT_FAILURE
  status. It will be clearer and more correct to replace last line with
  "exit(EXIT_SUCCESS);"

  ProblemType: Bug
  DistroRelease: Ubuntu 16.04
  Package: manpages-dev 4.04-2
  ProcVersionSignature: Ubuntu 4.4.0-47.68-generic 4.4.24
  Uname: Linux 4.4.0-47-generic x86_64
  NonfreeKernelModules: kpatch_livepatch_Ubuntu_4_4_0_47_68_generic_15 kpatch_livepatch_Ubuntu_4_4_0_47_68_generic_14
  ApportVersion: 2.20.1-0ubuntu2.4
  Architecture: amd64
  Date: Mon Dec 26 20:06:31 2016
  Dependencies: manpages 4.04-2
  InstallationDate: Installed on 2016-09-29 (87 days ago)
  InstallationMedia: Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
  PackageArchitecture: all
  SourcePackage: manpages
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/manpages/+bug/1652652/+subscriptions



More information about the foundations-bugs mailing list