summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorjbj <devnull@localhost>2003-01-01 20:33:21 +0000
committerjbj <devnull@localhost>2003-01-01 20:33:21 +0000
commited806144245212853f1bd030981d967bfe77630e (patch)
treeb68408513863b2cb6faad640c94de6c3f1f95206 /build
parenteb93e7599587e462128dc3217e95adf3f1cd361c (diff)
downloadlibrpm-tizen-ed806144245212853f1bd030981d967bfe77630e.tar.gz
librpm-tizen-ed806144245212853f1bd030981d967bfe77630e.tar.bz2
librpm-tizen-ed806144245212853f1bd030981d967bfe77630e.zip
- fix: dependency helpers now rate limited at 10ms, not 1s.
- add per-arch canonical color, only x86_64 enabled for now. CVS patchset: 5994 CVS date: 2003/01/01 20:33:21
Diffstat (limited to 'build')
-rw-r--r--build/rpmfc.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/build/rpmfc.c b/build/rpmfc.c
index 9f37b0ec9..4322d06fc 100644
--- a/build/rpmfc.c
+++ b/build/rpmfc.c
@@ -121,7 +121,6 @@ static StringBuf getOutputFrom(/*@null@*/ const char * dir, ARGV_t argv,
done = 0;
top:
- /* XXX the select is mainly a timer since all I/O is non-blocking */
FD_ZERO(&ibits);
FD_ZERO(&obits);
if (fromProg[0] >= 0) {
@@ -130,8 +129,9 @@ top:
if (toProg[1] >= 0) {
FD_SET(toProg[1], &obits);
}
- tv.tv_sec = 1;
- tv.tv_usec = 0;
+ /* XXX values set to limit spinning with perl doing ~100 forks/sec. */
+ tv.tv_sec = 0;
+ tv.tv_usec = 10000;
nfd = ((fromProg[0] > toProg[1]) ? fromProg[0] : toProg[1]);
if ((rc = select(nfd, &ibits, &obits, NULL, &tv)) < 0) {
if (errno == EINTR)
@@ -1469,9 +1469,16 @@ assert(EVR != NULL);
p = (const void **) argiData(fc->fcolor);
c = argiCount(fc->fcolor);
assert(ac == c);
- if (p != NULL && c > 0)
+ if (p != NULL && c > 0) {
+ int_32 * fcolors = (int_32 *)p;
+ int i;
+
+ /* XXX Make sure only primary (i.e. Elf32/Elf64) colors are added. */
+ for (i = 0; i < c; i++)
+ fcolors[i] &= 0x0f;
xx = headerAddEntry(pkg->header, RPMTAG_FILECOLORS, RPM_INT32_TYPE,
p, c);
+ }
/* Add classes(#classes) */
p = (const void **) argvData(fc->cdict);