Skip site navigation (1)Skip section navigation (2)
Date:      21 Oct 2002 15:24:08 +0200
From:      Linus Kendall <linus@angliaab.se>
To:        Peter Pentchev <roam@ringlet.net>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: PThreads problem
Message-ID:  <1035206648.24315.20.camel@bilbo>
In-Reply-To: <20021021124520.GS389@straylight.oblivion.bg>
References:  <1035200159.24315.13.camel@bilbo>  <20021021124520.GS389@straylight.oblivion.bg>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

Libcurl is an HTTP-library which is said to be threadsafe (and also
works normally under Linux).

I've been looking at it and it seems that the problem was based on
the fact that libcurl triggers an SIGALARM which in Linux isn't a
problem but for which I needed to define a signal handler (ie. block)
in *BSD.

/Linus
=20

m=E5n 2002-10-21 klockan 14.45 skrev Peter Pentchev:
> On Mon, Oct 21, 2002 at 01:35:59PM +0200, Linus Kendall wrote:
> > Hi,
> >=20
> > I'm trying to port a heavily threaded application from Linux (Debian
> > 3.0, 2.4.19) to
> > FreeBSD (4.6-RELEASE). The program compiles successfully using gcc with
> > -pthreads. But, when I try to run the application I get the following
> > error after a while (after spawning 11 threads):
> >=20
> > Fatal error 'siglongjmp()ing between thread contexts is undefined by
> > POSIX 1003.1' at line ? in file
> > /usr/src/lib/libc_r/uthread/uthread_jmp.c (errno =3D ?)
> > Abort trap - core dumped
> >=20
> > It always crashes at the same point. Under Linux it works perfectly
> > fine.
> > I also tried to compile with linuxthreads only to get a segfault
> > directly when the program tries to spawn the first thread.=20
> >=20
> > GCC version on Linux: 2.95.4 20011002
> > GCC version on FreeBSD: 2.95.3 20010315
> >=20
> > GCC/G++ command-line: g++ -g -Wall -I. `curl-config --cflags`=20
> > -fsjlj-exceptions -D_THREAD_SAFE -D_REENTRANT -pthread `curl-config
> > --libs`=20
>=20
> Just for the record: what exactly do 'curl-config --cflags' and
> 'curl-config --libs' output?
>=20
> G'luck,
> Peter
>=20
> --=20
> Peter Pentchev	roam@ringlet.net	roam@FreeBSD.org
> PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
> Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
> If I were you, who would be reading this sentence?


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1035206648.24315.20.camel>