user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* [PATCH 0/7] dead code elimination
@ 2019-10-21 11:22 Eric Wong
  2019-10-21 11:22 ` [PATCH 1/7] overidx: remove unused delete_articles sub Eric Wong
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Eric Wong @ 2019-10-21 11:22 UTC (permalink / raw)
  To: meta

I noticed OverIdx->delete_articles was unused while
working on the --reindex bug with multiple Message-IDs,
and went looking for more dead code.

This should make release tarballs smaller, at least.

Eric Wong (7):
  overidx: remove unused delete_articles sub
  www: remove unused ctx_get sub
  inboxwritable: import_maildir uses maildir_path_load
  watchmaildir: remove redundant _path_to_mime
  git: remove src_blob_url
  hval: remove new_oneline
  syscall: get rid of sendfile wrappers for now

 lib/PublicInbox/Git.pm           | 11 -----
 lib/PublicInbox/Hval.pm          |  8 ----
 lib/PublicInbox/InboxWritable.pm |  2 +-
 lib/PublicInbox/OverIdx.pm       |  6 ---
 lib/PublicInbox/Syscall.pm       | 75 +-------------------------------
 lib/PublicInbox/WWW.pm           |  7 ---
 lib/PublicInbox/WatchMaildir.pm  | 20 ++-------
 7 files changed, 5 insertions(+), 124 deletions(-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [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

end of thread, other threads:[~2019-10-21 11:22 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 ` [PATCH 3/7] inboxwritable: import_maildir uses maildir_path_load Eric Wong
2019-10-21 11:22 ` [PATCH 4/7] watchmaildir: remove redundant _path_to_mime Eric Wong
2019-10-21 11:22 ` [PATCH 5/7] git: remove src_blob_url 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

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).