mirror of
https://github.com/golang/go
synced 2024-11-20 10:34:42 -07:00
cmd/pack: remove unused paging logic
This is the remainder of https://golang.org/cl/4601051. Partially addresses issue 2705. R=golang-dev, r, bradfitz, minux.ma CC=golang-dev https://golang.org/cl/6354066
This commit is contained in:
parent
8a2a5013c9
commit
eb1c03eacb
@ -77,9 +77,7 @@ typedef struct Armember /* Temp file entry - one per archive member */
|
|||||||
|
|
||||||
typedef struct Arfile /* Temp file control block - one per tempfile */
|
typedef struct Arfile /* Temp file control block - one per tempfile */
|
||||||
{
|
{
|
||||||
int paged; /* set when some data paged to disk */
|
|
||||||
char *fname; /* paging file name */
|
char *fname; /* paging file name */
|
||||||
int fd; /* paging file descriptor */
|
|
||||||
vlong size;
|
vlong size;
|
||||||
Armember *head; /* head of member chain */
|
Armember *head; /* head of member chain */
|
||||||
Armember *tail; /* tail of member chain */
|
Armember *tail; /* tail of member chain */
|
||||||
@ -159,7 +157,6 @@ int bamatch(char*, char*);
|
|||||||
int duplicate(char*, char**);
|
int duplicate(char*, char**);
|
||||||
Armember *getdir(Biobuf*);
|
Armember *getdir(Biobuf*);
|
||||||
void getpkgdef(char**, int*);
|
void getpkgdef(char**, int*);
|
||||||
int getspace(void);
|
|
||||||
void install(char*, Arfile*, Arfile*, Arfile*, int);
|
void install(char*, Arfile*, Arfile*, Arfile*, int);
|
||||||
void loadpkgdata(char*, int);
|
void loadpkgdata(char*, int);
|
||||||
void longt(Armember*);
|
void longt(Armember*);
|
||||||
@ -169,7 +166,6 @@ Arfile *newtempfile(char*);
|
|||||||
Armember *newmember(void);
|
Armember *newmember(void);
|
||||||
void objsym(Sym*, void*);
|
void objsym(Sym*, void*);
|
||||||
int openar(char*, int, int);
|
int openar(char*, int, int);
|
||||||
int page(Arfile*);
|
|
||||||
void pmode(long);
|
void pmode(long);
|
||||||
void rl(int);
|
void rl(int);
|
||||||
void scanobj(Biobuf*, Arfile*, long);
|
void scanobj(Biobuf*, Arfile*, long);
|
||||||
@ -1534,23 +1530,7 @@ void
|
|||||||
arstream(int fd, Arfile *ap)
|
arstream(int fd, Arfile *ap)
|
||||||
{
|
{
|
||||||
Armember *bp;
|
Armember *bp;
|
||||||
int i;
|
|
||||||
char buf[8192];
|
|
||||||
|
|
||||||
if (ap->paged) { /* copy from disk */
|
|
||||||
seek(ap->fd, 0, 0);
|
|
||||||
for (;;) {
|
|
||||||
i = read(ap->fd, buf, sizeof(buf));
|
|
||||||
if (i < 0)
|
|
||||||
rderr();
|
|
||||||
if (i == 0)
|
|
||||||
break;
|
|
||||||
if (write(fd, buf, i) != i)
|
|
||||||
wrerr();
|
|
||||||
}
|
|
||||||
close(ap->fd);
|
|
||||||
ap->paged = 0;
|
|
||||||
}
|
|
||||||
/* dump the in-core buffers */
|
/* dump the in-core buffers */
|
||||||
for (bp = ap->head; bp; bp = bp->next) {
|
for (bp = ap->head; bp; bp = bp->next) {
|
||||||
if (!arwrite(fd, bp))
|
if (!arwrite(fd, bp))
|
||||||
@ -1576,35 +1556,6 @@ arwrite(int fd, Armember *bp)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Spill a member to a disk copy of a temp file
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
page(Arfile *ap)
|
|
||||||
{
|
|
||||||
USED(ap);
|
|
||||||
|
|
||||||
sysfatal("page");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* try to reclaim space by paging. we try to spill the start, middle,
|
|
||||||
* and end files, in that order. there is no particular reason for the
|
|
||||||
* ordering.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
getspace(void)
|
|
||||||
{
|
|
||||||
if (astart && astart->head && page(astart))
|
|
||||||
return 1;
|
|
||||||
if (amiddle && amiddle->head && page(amiddle))
|
|
||||||
return 1;
|
|
||||||
if (aend && aend->head && page(aend))
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
arfree(Arfile *ap) /* free a member buffer */
|
arfree(Arfile *ap) /* free a member buffer */
|
||||||
{
|
{
|
||||||
@ -1633,13 +1584,11 @@ armalloc(int n)
|
|||||||
if(n&1)
|
if(n&1)
|
||||||
n++;
|
n++;
|
||||||
|
|
||||||
do {
|
|
||||||
cp = malloc(n);
|
cp = malloc(n);
|
||||||
if (cp) {
|
if (cp) {
|
||||||
memset(cp, 0, n);
|
memset(cp, 0, n);
|
||||||
return cp;
|
return cp;
|
||||||
}
|
}
|
||||||
} while (getspace());
|
|
||||||
fprint(2, "pack: out of memory\n");
|
fprint(2, "pack: out of memory\n");
|
||||||
exits("malloc");
|
exits("malloc");
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user