* [PATCH 1/7] overidx: remove unused delete_articles sub
2019-10-21 11:22 [PATCH 0/7] dead code elimination Eric Wong
@ 2019-10-21 11:22 ` Eric Wong
2019-10-21 11:22 ` [PATCH 2/7] www: remove unused ctx_get sub Eric Wong
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Eric Wong @ 2019-10-21 11:22 UTC (permalink / raw)
To: meta
This hasn't been used since commit 1b7e935ab1690e28
("searchidx: fix incremental index with indexlevel=basic on v1")
---
lib/PublicInbox/OverIdx.pm | 6 ------
1 file changed, 6 deletions(-)
diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm
index 7fd1905d..e8df01c4 100644
--- a/lib/PublicInbox/OverIdx.pm
+++ b/lib/PublicInbox/OverIdx.pm
@@ -320,12 +320,6 @@ INSERT INTO id2num (id, num) VALUES (?,?)
}
}
-sub delete_articles {
- my ($self, $nums) = @_;
- my $dbh = $self->connect;
- $self->delete_by_num($_) foreach @$nums;
-}
-
# returns number of removed messages
# $oid may be undef to match only on $mid
sub remove_oid {
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/7] www: remove unused ctx_get sub
2019-10-21 11:22 [PATCH 0/7] dead code elimination Eric Wong
2019-10-21 11:22 ` [PATCH 1/7] overidx: remove unused delete_articles sub Eric Wong
@ 2019-10-21 11:22 ` Eric Wong
2019-10-21 11:22 ` [PATCH 3/7] inboxwritable: import_maildir uses maildir_path_load Eric Wong
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Eric Wong @ 2019-10-21 11:22 UTC (permalink / raw)
To: meta
This hasn't been used since commit 48b21cb662c1e17b7 in 2016:
("declare Inbox object for reusability")
---
lib/PublicInbox/WWW.pm | 7 -------
1 file changed, 7 deletions(-)
diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm
index d0b9f387..4b7177c1 100644
--- a/lib/PublicInbox/WWW.pm
+++ b/lib/PublicInbox/WWW.pm
@@ -300,13 +300,6 @@ sub get_vcs_object ($$$;$) {
PublicInbox::ViewVCS::show($ctx, $oid, $filename);
}
-sub ctx_get {
- my ($ctx, $key) = @_;
- my $val = $ctx->{$key};
- (defined $val && $val ne '') or die "BUG: bad ctx, $key unusable";
- $val;
-}
-
sub need {
my ($ctx, $extra) = @_;
my $msg = <<EOF;
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/7] inboxwritable: import_maildir uses maildir_path_load
2019-10-21 11:22 [PATCH 0/7] dead code elimination Eric Wong
2019-10-21 11:22 ` [PATCH 1/7] overidx: remove unused delete_articles sub Eric Wong
2019-10-21 11:22 ` [PATCH 2/7] www: remove unused ctx_get sub Eric Wong
@ 2019-10-21 11:22 ` Eric Wong
2019-10-21 11:22 ` [PATCH 4/7] watchmaildir: remove redundant _path_to_mime Eric Wong
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Eric Wong @ 2019-10-21 11:22 UTC (permalink / raw)
To: meta
I'm not sure if this will get used anywhere, but at least
call a function which exists in dead code.
---
lib/PublicInbox/InboxWritable.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/PublicInbox/InboxWritable.pm b/lib/PublicInbox/InboxWritable.pm
index 174e4245..ab7b0ed5 100644
--- a/lib/PublicInbox/InboxWritable.pm
+++ b/lib/PublicInbox/InboxWritable.pm
@@ -134,7 +134,7 @@ sub import_maildir {
opendir my $dh, "$dir/$sub" or die "opendir $dir/$sub: $!\n";
while (defined(my $fn = readdir($dh))) {
next unless is_maildir_basename($fn);
- my $mime = maildir_file_load("$dir/$fn") or next;
+ my $mime = maildir_path_load("$dir/$fn") or next;
if (my $filter = $self->filter($im)) {
my $ret = $filter->scrub($mime) or return;
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/7] watchmaildir: remove redundant _path_to_mime
2019-10-21 11:22 [PATCH 0/7] dead code elimination Eric Wong
` (2 preceding siblings ...)
2019-10-21 11:22 ` [PATCH 3/7] inboxwritable: import_maildir uses maildir_path_load Eric Wong
@ 2019-10-21 11:22 ` Eric Wong
2019-10-21 11:22 ` [PATCH 5/7] git: remove src_blob_url Eric Wong
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Eric Wong @ 2019-10-21 11:22 UTC (permalink / raw)
To: meta
InboxWritable::maildir_path_load exists and we may support
it for use with standalone scripts.
---
lib/PublicInbox/WatchMaildir.pm | 20 +++-----------------
1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/lib/PublicInbox/WatchMaildir.pm b/lib/PublicInbox/WatchMaildir.pm
index 08b1aab4..e9231780 100644
--- a/lib/PublicInbox/WatchMaildir.pm
+++ b/lib/PublicInbox/WatchMaildir.pm
@@ -13,6 +13,7 @@ use File::Temp qw//;
use PublicInbox::Filter::Base;
use PublicInbox::Spamcheck;
*REJECT = *PublicInbox::Filter::Base::REJECT;
+*maildir_path_load = *PublicInbox::InboxWritable::maildir_path_load;
sub new {
my ($class, $config) = @_;
@@ -124,7 +125,7 @@ sub _remove_spam {
my ($self, $path) = @_;
# path must be marked as (S)een
$path =~ /:2,[A-R]*S[T-Za-z]*\z/ or return;
- my $mime = _path_to_mime($path) or return;
+ my $mime = maildir_path_load($path) or return;
$self->{config}->each_inbox(sub {
my ($ibx) = @_;
eval {
@@ -166,7 +167,7 @@ sub _try_path {
$warn_cb->(@_);
};
foreach my $ibx (@$inboxes) {
- my $mime = _path_to_mime($path) or next;
+ my $mime = maildir_path_load($path) or next;
my $im = _importer_for($self, $ibx);
# any header match means it's eligible for the inbox:
@@ -259,21 +260,6 @@ sub scan {
trigger_scan($self, 'cont') if keys %$opendirs;
}
-sub _path_to_mime {
- my ($path) = @_;
- if (open my $fh, '<', $path) {
- local $/;
- my $str = <$fh>;
- $str or return;
- return PublicInbox::MIME->new(\$str);
- } elsif ($!{ENOENT}) {
- return;
- } else {
- warn "failed to open $path: $!\n";
- return;
- }
-}
-
sub _importer_for {
my ($self, $ibx) = @_;
my $importers = $self->{importers};
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/7] git: remove src_blob_url
2019-10-21 11:22 [PATCH 0/7] dead code elimination Eric Wong
` (3 preceding siblings ...)
2019-10-21 11:22 ` [PATCH 4/7] watchmaildir: remove redundant _path_to_mime Eric Wong
@ 2019-10-21 11:22 ` Eric Wong
2019-10-21 11:22 ` [PATCH 6/7] hval: remove new_oneline Eric Wong
2019-10-21 11:22 ` [PATCH 7/7] syscall: get rid of sendfile wrappers for now Eric Wong
6 siblings, 0 replies; 8+ messages in thread
From: Eric Wong @ 2019-10-21 11:22 UTC (permalink / raw)
To: meta
This was intended for solver, but it's unused since
commit 915cd090798069a4
("solver: switch patch application to use a callback")
---
lib/PublicInbox/Git.pm | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm
index ff3838b3..218846f3 100644
--- a/lib/PublicInbox/Git.pm
+++ b/lib/PublicInbox/Git.pm
@@ -261,17 +261,6 @@ sub local_nick ($) {
wantarray ? ($ret) : $ret;
}
-# show the blob URL for cgit/gitweb/whatever
-sub src_blob_url {
- my ($self, $oid) = @_;
- # blob_url_format = "https://example.com/foo.git/blob/%s"
- if (my $bfu = $self->{blob_url_format}) {
- return map { sprintf($_, $oid) } @$bfu if wantarray;
- return sprintf($bfu->[0], $oid);
- }
- local_nick($self);
-}
-
sub host_prefix_url ($$) {
my ($env, $url) = @_;
return $url if index($url, '//') >= 0;
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 6/7] hval: remove new_oneline
2019-10-21 11:22 [PATCH 0/7] dead code elimination Eric Wong
` (4 preceding siblings ...)
2019-10-21 11:22 ` [PATCH 5/7] git: remove src_blob_url Eric Wong
@ 2019-10-21 11:22 ` Eric Wong
2019-10-21 11:22 ` [PATCH 7/7] syscall: get rid of sendfile wrappers for now Eric Wong
6 siblings, 0 replies; 8+ messages in thread
From: Eric Wong @ 2019-10-21 11:22 UTC (permalink / raw)
To: meta
commit 476fc666c223f0fb ('reduce "PublicInbox::Hval->new_oneline" use')
was mis-titled, since it completely eliminated ->new_oneline use.
---
lib/PublicInbox/Hval.pm | 8 --------
1 file changed, 8 deletions(-)
diff --git a/lib/PublicInbox/Hval.pm b/lib/PublicInbox/Hval.pm
index 0e290601..c134e297 100644
--- a/lib/PublicInbox/Hval.pm
+++ b/lib/PublicInbox/Hval.pm
@@ -32,14 +32,6 @@ sub new_msgid {
$class->new($msgid, mid_escape($msgid));
}
-sub new_oneline {
- my ($class, $raw) = @_;
- $raw = '' unless defined $raw;
- $raw =~ tr/\t\n / /s; # squeeze spaces
- $raw =~ tr/\r//d; # kill CR
- $class->new($raw);
-}
-
# some of these overrides are standard C escapes so they're
# easy-to-understand when rendered.
my %escape_sequence = (
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 7/7] syscall: get rid of sendfile wrappers for now
2019-10-21 11:22 [PATCH 0/7] dead code elimination Eric Wong
` (5 preceding siblings ...)
2019-10-21 11:22 ` [PATCH 6/7] hval: remove new_oneline Eric Wong
@ 2019-10-21 11:22 ` Eric Wong
6 siblings, 0 replies; 8+ messages in thread
From: Eric Wong @ 2019-10-21 11:22 UTC (permalink / raw)
To: meta
I'm not sure they'll make a measurable difference or will
be worth the effort in the future given the prevalance
of HTTPS and giant socket buffers.
Using Inline::C for this may make more sense in the
future, too, especially if we want to be able to use
GnuTLS.
---
lib/PublicInbox/Syscall.pm | 75 +-------------------------------------
1 file changed, 1 insertion(+), 74 deletions(-)
diff --git a/lib/PublicInbox/Syscall.pm b/lib/PublicInbox/Syscall.pm
index d7e15c72..da8a6c86 100644
--- a/lib/PublicInbox/Syscall.pm
+++ b/lib/PublicInbox/Syscall.pm
@@ -21,7 +21,7 @@ use vars qw(@ISA @EXPORT_OK %EXPORT_TAGS $VERSION);
$VERSION = "0.25";
@ISA = qw(Exporter);
-@EXPORT_OK = qw(sendfile epoll_ctl epoll_create epoll_wait
+@EXPORT_OK = qw(epoll_ctl epoll_create epoll_wait
EPOLLIN EPOLLOUT EPOLLET
EPOLL_CTL_ADD EPOLL_CTL_DEL EPOLL_CTL_MOD
EPOLLONESHOT EPOLLEXCLUSIVE);
@@ -29,7 +29,6 @@ $VERSION = "0.25";
EPOLLIN EPOLLOUT
EPOLL_CTL_ADD EPOLL_CTL_DEL EPOLL_CTL_MOD
EPOLLONESHOT EPOLLEXCLUSIVE)],
- sendfile => [qw(sendfile)],
);
use constant EPOLLIN => 1;
@@ -64,7 +63,6 @@ our (
$SYS_epoll_create,
$SYS_epoll_ctl,
$SYS_epoll_wait,
- $SYS_sendfile,
);
our $no_deprecated = 0;
@@ -90,45 +88,37 @@ if ($^O eq "linux") {
$SYS_epoll_create = 254;
$SYS_epoll_ctl = 255;
$SYS_epoll_wait = 256;
- $SYS_sendfile = 187; # or 64: 239
} elsif ($machine eq "x86_64") {
$SYS_epoll_create = 213;
$SYS_epoll_ctl = 233;
$SYS_epoll_wait = 232;
- $SYS_sendfile = 40;
} elsif ($machine =~ m/^parisc/) {
$SYS_epoll_create = 224;
$SYS_epoll_ctl = 225;
$SYS_epoll_wait = 226;
- $SYS_sendfile = 122; # sys_sendfile64=209
$u64_mod_8 = 1;
} elsif ($machine =~ m/^ppc64/) {
$SYS_epoll_create = 236;
$SYS_epoll_ctl = 237;
$SYS_epoll_wait = 238;
- $SYS_sendfile = 186; # (sys32_sendfile). sys32_sendfile64=226 (64 bit processes: sys_sendfile64=186)
$u64_mod_8 = 1;
} elsif ($machine eq "ppc") {
$SYS_epoll_create = 236;
$SYS_epoll_ctl = 237;
$SYS_epoll_wait = 238;
- $SYS_sendfile = 186; # sys_sendfile64=226
$u64_mod_8 = 1;
} elsif ($machine =~ m/^s390/) {
$SYS_epoll_create = 249;
$SYS_epoll_ctl = 250;
$SYS_epoll_wait = 251;
- $SYS_sendfile = 187; # sys_sendfile64=223
$u64_mod_8 = 1;
} elsif ($machine eq "ia64") {
$SYS_epoll_create = 1243;
$SYS_epoll_ctl = 1244;
$SYS_epoll_wait = 1245;
- $SYS_sendfile = 1187;
$u64_mod_8 = 1;
} elsif ($machine eq "alpha") {
# natural alignment, ints are 32-bits
- $SYS_sendfile = 370; # (sys_sendfile64)
$SYS_epoll_create = 407;
$SYS_epoll_ctl = 408;
$SYS_epoll_wait = 409;
@@ -137,7 +127,6 @@ if ($^O eq "linux") {
$SYS_epoll_create = 20; # (sys_epoll_create1)
$SYS_epoll_ctl = 21;
$SYS_epoll_wait = 22; # (sys_epoll_pwait)
- $SYS_sendfile = 71; # (sys_sendfile64)
$u64_mod_8 = 1;
$no_deprecated = 1;
} elsif ($machine =~ m/arm(v\d+)?.*l/) {
@@ -145,16 +134,13 @@ if ($^O eq "linux") {
$SYS_epoll_create = 250;
$SYS_epoll_ctl = 251;
$SYS_epoll_wait = 252;
- $SYS_sendfile = 187;
$u64_mod_8 = 1;
} elsif ($machine =~ m/^mips64/) {
- $SYS_sendfile = 5039;
$SYS_epoll_create = 5207;
$SYS_epoll_ctl = 5208;
$SYS_epoll_wait = 5209;
$u64_mod_8 = 1;
} elsif ($machine =~ m/^mips/) {
- $SYS_sendfile = 4207;
$SYS_epoll_create = 4248;
$SYS_epoll_ctl = 4249;
$SYS_epoll_wait = 4250;
@@ -180,68 +166,9 @@ if ($^O eq "linux") {
elsif ($^O eq "freebsd") {
if ($ENV{FREEBSD_SENDFILE}) {
# this is still buggy and in development
- $SYS_sendfile = 393; # old is 336
}
}
-############################################################################
-# sendfile functions
-############################################################################
-
-unless ($SYS_sendfile) {
- _load_syscall();
- $SYS_sendfile = eval { &SYS_sendfile; } || 0;
-}
-
-sub sendfile_defined { return $SYS_sendfile ? 1 : 0; }
-
-if ($^O eq "linux" && $SYS_sendfile) {
- *sendfile = \&sendfile_linux;
-} elsif ($^O eq "freebsd" && $SYS_sendfile) {
- *sendfile = \&sendfile_freebsd;
-} else {
- *sendfile = \&sendfile_noimpl;
-}
-
-sub sendfile_noimpl {
- $! = ENOSYS;
- return -1;
-}
-
-# C: ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count)
-# Perl: sendfile($write_fd, $read_fd, $max_count) --> $actually_sent
-sub sendfile_linux {
- return syscall(
- $SYS_sendfile,
- $_[0] + 0, # fd
- $_[1] + 0, # fd
- 0, # don't keep track of offset. callers can lseek and keep track.
- $_[2] + 0 # count
- );
-}
-
-sub sendfile_freebsd {
- my $offset = POSIX::lseek($_[1]+0, 0, SEEK_CUR) + 0;
- my $ct = $_[2] + 0;
- my $sbytes_buf = "\0" x 8;
- my $rv = syscall(
- $SYS_sendfile,
- $_[1] + 0, # fd (from)
- $_[0] + 0, # socket (to)
- $offset,
- $ct,
- 0, # struct sf_hdtr *hdtr
- $sbytes_buf, # off_t *sbytes
- 0); # flags
- return $rv if $rv < 0;
-
-
- my $set = unpack("L", $sbytes_buf);
- POSIX::lseek($_[1]+0, SEEK_CUR, $set);
- return $set;
-}
-
-
############################################################################
# epoll functions
############################################################################
^ permalink raw reply related [flat|nested] 8+ messages in thread