ports/sysutils/parallel/files/patch-src__parallel
Martin Wilke 6cc92f6964 - Update to 20110122
PR:		154398
Submitted by:	maintainer
Feature safe:	yes
2011-01-31 11:38:55 +00:00

87 lines
2.8 KiB
Text

--- ./src/parallel.orig 2011-01-22 15:37:41.000000000 -0700
+++ ./src/parallel 2011-01-30 11:39:53.000000000 -0700
@@ -2077,14 +2077,20 @@
sub no_of_cpus_freebsd {
# Returns:
# Number of physical CPUs on FreeBSD
- my $no_of_cpus = `sysctl hw.ncpu 2>/dev/null | awk '{ print \$2 }'`;
+ my $no_of_cpus =
+ (`sysctl -a dev.cpu | grep \%parent | awk '{ print \$2 }' | uniq | wc -l | awk '{ print \$1 }'`
+ or
+ `sysctl hw.ncpu 2>/dev/null | awk '{ print \$2 }'`);
return $no_of_cpus;
}
sub no_of_cores_freebsd {
# Returns:
# Number of CPU cores on FreeBSD
- my $no_of_cores = `sysctl -a hw 2>/dev/null | grep -w logicalcpu | awk '{ print \$2 }'`;
+ my $no_of_cores =
+ (`sysctl hw.ncpu 2>/dev/null | awk '{ print \$2 }'`
+ or
+ `sysctl -a hw 2>/dev/null | grep -w logicalcpu | awk '{ print \$2 }'`);
return $no_of_cores;
}
@@ -3455,28 +3461,40 @@
# Maximal command line length (for -m and -X)
sub max_length {
- # Find the max_length of a command line
- # Returns:
- # number of chars on the longest command line allowed
- if(not $Limits::Command::line_max_len) {
- if($::opt_s) {
- if(is_acceptable_command_line_length($::opt_s)) {
- $Limits::Command::line_max_len = $::opt_s;
- } else {
- # -s is too long: Find the correct
- $Limits::Command::line_max_len = binary_find_max_length(0,$::opt_s);
- }
- if($::opt_s <= $Limits::Command::line_max_len) {
- $Limits::Command::line_max_len = $::opt_s;
- } else {
- print STDERR "$Global::progname: ",
- "value for -s option should be < $Limits::Command::line_max_len\n";
- }
- } else {
- $Limits::Command::line_max_len = real_max_length();
- }
+ # FreeBSD code:
+ my $limit = `getconf ARG_MAX` - 1024;
+ if ($::opt_s) {
+ if ($::opt_s > $limit) {
+ print STDERR "$Global::progname: ",
+ "you are setting value for -s greater than $limit\n";
+ }
+ $limit = $::opt_s;
}
- return $Limits::Command::line_max_len;
+ return $limit;
+
+# ORIGINAL code:
+# # Find the max_length of a command line
+# # Returns:
+# # number of chars on the longest command line allowed
+# if(not $Limits::Command::line_max_len) {
+# if($::opt_s) {
+# if(is_acceptable_command_line_length($::opt_s)) {
+# $Limits::Command::line_max_len = $::opt_s;
+# } else {
+# # -s is too long: Find the correct
+# $Limits::Command::line_max_len = binary_find_max_length(0,$::opt_s);
+# }
+# if($::opt_s <= $Limits::Command::line_max_len) {
+# $Limits::Command::line_max_len = $::opt_s;
+# } else {
+# print STDERR "$Global::progname: ",
+# "value for -s option should be < $Limits::Command::line_max_len\n";
+# }
+# } else {
+# $Limits::Command::line_max_len = real_max_length();
+# }
+# }
+# return $Limits::Command::line_max_len;
}
sub real_max_length {