rpm, pthreads(nptl?)
Paweł Sikora
pluto w ds14.agh.edu.pl
Śro, 21 Sty 2004, 18:25:39 CET
On Wed, 21 Jan 2004, Jakub Bogusz wrote:
> > then mv -f ".deps/rpmsq.Tpo" ".deps/rpmsq.Plo"; else rm -f ".deps/rpmsq.Tpo"; exit 1; fi
> > i686-pld-linux-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I/usr/include/beecrypt -O2 -march=i686 -fomit-frame-pointer -funroll-
> > all-loops -pipe -fPIC -DPIC -D_GNU_SOURCE -D_REENTRANT -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-
> > subscripts -Wno-strict-aliasing -MT rpmsq.lo -MD -MP -MF .deps/rpmsq.Tpo -c rpmsq.c -fPIC -DPIC -o .libs/rpmsq.o
> > rpmsq.c: In function `rpmsqEnable':
> > rpmsq.c:347: warning: assignment from incompatible pointer type
> > rpmsq.c: In function `rpmsqExecve':
> > rpmsq.c:633: error: parse error before '}' token
> > rpmsq.c:651: error: parse error at end of input
> > make[2]: *** [rpmsq.lo] Błąd 1
> > make[2]: Opuszczenie katalogu `/home/users/pluto/rpm/BUILD/rpm-4.3/rpmio'
> > make[1]: *** [all-recursive] Błąd 1
> > make[1]: Opuszczenie katalogu `/home/users/pluto/rpm/BUILD/rpm-4.3'
> > make: *** [all] Błąd 2
> > błąd: Błędny status wyjścia z /var/tmp/rpm-tmp.2898 (%build)
>
> Przepuść przez preprocesor i zobacz co tam ląduje.
makro
CLEANUP_HANDLER(sigchld_cancel, &pid, &oldtype);
jest rozwijane przez cos takiego
#define CLEANUP_RESET(__execute, __oldtype) \
(void) pthread_cleanup_pop(__execute); \
(void) pthread_setcanceltype ((__oldtype), &(__oldtype));
w cos takiego
(void) pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, (&oldtype));
do {
__pthread_unwind_buf_t __cancel_buf;
void (*__cancel_routine) (void *) = ((sigchld_cancel));
void *__cancel_arg = ((&pid));
int not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) __cancel_buf.__cancel_jmp_buf, 0);
if (__builtin_expect (not_first_call, 0))
{
__cancel_routine (__cancel_arg);
__pthread_unwind_next (&__cancel_buf);
}
__pthread_register_cancel (&__cancel_buf);
do {;;
Więcej informacji o liście dyskusyjnej pld-devel-pl