| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
----------
This patchset updates the libbb stuff to use a vfork() version of
gz_open, called gzvopen. This is done because a standard fork will
duplicate the entire address space. This will invoke the OOM
(out of memory) killer on small-memory machines, because most often
by the time we unzip any package, we've read the entire package
database into memory already. By using vfork() and immediatly
execing the external gunzip utility, we avoid the need to clone the
entire address space.
Yes, this is actually **LESS** efficient than the original way!
But there is no way to (currently) dodge the OOM killer on a
per-process basis, so the alternatives are to either change the
OOM killer behavior system-wide, or to use this workaround.
Mike Westerhof, Dec 2008
git-svn-id: http://opkg.googlecode.com/svn/trunk@190 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
| |
stuff.
git-svn-id: http://opkg.googlecode.com/svn/trunk@189 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@188 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@187 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in strcmp
analysis from gcov:
Before:
507: 1386: old_files = pkg_get_installed_files(old_pkg);
507: 1387: new_files = pkg_get_installed_files(pkg);
-: 1388:
5466: 1389: for (of = str_list_first(old_files); of; of = str_list_next
-: 1390: pkg_t *owner;
-: 1391: char *old, *new;
4959: 1392: old = (char *)of->data;
2963021: 1393: for (nf = str_list_first(new_files); nf; nf = str_list
2961464: 1394: new = nf->data;
2961464: 1395: if (strcmp(old, new) == 0) {
3402: 1396: niter = &nf;
3402: 1397: nf=str_list_next(new_files, nf);
3402: 1398: str_list_remove(new_files, niter);
3402: 1399: free(new);
3402: 1400: goto NOT_OBSOLETE;
-: 1401: }
After:
507: 1393: new_files_table.entries = NULL;
507: 1394: hash_table_init("new_files" , &new_files_table, 20);
8897: 1395: for (nf = str_list_first(new_files); nf; nf = str_list_next
8390: 1396: if (nf && nf->data)
8390: 1397: hash_table_insert(&new_files_table, nf->data, nf->da
-: 1398: }
-: 1399:
5466: 1400: for (of = str_list_first(old_files); of; of = str_list_next
-: 1401: pkg_t *owner;
-: 1402: char *old, *new;
4959: 1403: old = (char *)of->data;
4959: 1404: new = (char *) hash_table_get (&new_files_table, old);
4959: 1405: if (new)
4894: 1406: continue;
git-svn-id: http://opkg.googlecode.com/svn/trunk@186 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@185 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@184 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@183 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@182 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
| |
introduce the active_list_sort
git-svn-id: http://opkg.googlecode.com/svn/trunk@181 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
It's more likely the functionality.
git-svn-id: http://opkg.googlecode.com/svn/trunk@180 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
is very slow and been called very often. This has a huge improve space.
git-svn-id: http://opkg.googlecode.com/svn/trunk@179 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
adding function that allows node move from one list to another
git-svn-id: http://opkg.googlecode.com/svn/trunk@178 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@177 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@176 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@175 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@174 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@173 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
|
|
| |
Since my e-mail account had been deleted for some reason,
and I cannot get mail from that account, update a vaild one.
So that I can keep in touch with people who want to help opkg. :)
git-svn-id: http://opkg.googlecode.com/svn/trunk@172 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@171 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@170 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@169 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@168 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@167 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
This can be used for upgrade path
git-svn-id: http://opkg.googlecode.com/svn/trunk@166 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@165 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
opkg: refactory the upgradable list
git-svn-id: http://opkg.googlecode.com/svn/trunk@164 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@163 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@162 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
Thanks for manitu
git-svn-id: http://opkg.googlecode.com/svn/trunk@161 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
|
|
| |
Just complete the API for future usage.
Clean all the entry at initial time. This reduces planty of unnecessary check.
In order to prevent this kind of bug, using calloc to replace most malloc
git-svn-id: http://opkg.googlecode.com/svn/trunk@160 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
solving the update_file_ownership misbehaviour issue, and redundent installed files issue.
git-svn-id: http://opkg.googlecode.com/svn/trunk@159 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@158 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@157 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
thanks Werner.
git-svn-id: http://opkg.googlecode.com/svn/trunk@156 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
|
|
| |
execution when in offline mode.
Thanks for Christopher Hall <hsw@openmoko.com>
git-svn-id: http://opkg.googlecode.com/svn/trunk@155 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
|
|
| |
opkg-cl --cache <cache_directory>
Thank for Werner
git-svn-id: http://opkg.googlecode.com/svn/trunk@154 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
Keep some still valid, or what I am not sure about.
git-svn-id: http://opkg.googlecode.com/svn/trunk@153 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@152 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
| |
Scholz -- thanks!
git-svn-id: http://opkg.googlecode.com/svn/trunk@151 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@150 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@149 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@148 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@147 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
Thanks for chgros
git-svn-id: http://opkg.googlecode.com/svn/trunk@146 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
Thanks for jserv found and fix this.
git-svn-id: http://opkg.googlecode.com/svn/trunk@145 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
|
| |
It's a hanging pointer.
Using installed_files without get and free
git-svn-id: http://opkg.googlecode.com/svn/trunk@144 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
But it will makes the system failed in reference count.
git-svn-id: http://opkg.googlecode.com/svn/trunk@143 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
when searching every package opkg will clone the package but never released.
git-svn-id: http://opkg.googlecode.com/svn/trunk@142 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@141 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|