Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Feb 2010 03:21:53 +0100
From:      Bernd Walter <ticso@cicely7.cicely.de>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        stas@FreeBSD.org, arm@FreeBSD.org, ticso@cicely7.cicely.de, ticso@cicely.de, current@FreeBSD.org
Subject:   Re: bind fails with sig11 on start / pthread failure on ARM?
Message-ID:  <20100217022153.GR43625@cicely7.cicely.de>
In-Reply-To: <20100216.135430.702773873773944731.imp@bsdimp.com>
References:  <20100215213907.GA43625@cicely7.cicely.de> <20100216183951.GI43625@cicely7.cicely.de> <20100216123646.fc741643.stas@FreeBSD.org> <20100216.135430.702773873773944731.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 16, 2010 at 01:54:30PM -0700, M. Warner Losh wrote:
> In message: <20100216123646.fc741643.stas@FreeBSD.org>
>             Stanislav Sedov <stas@freebsd.org> writes:
> : On Tue, 16 Feb 2010 19:39:51 +0100
> : Bernd Walter <ticso@cicely7.cicely.de> mentioned:
> : 
> : > 
> : > Do we have a general threading problem on ARM?
> : > 
> : 
> : I don't think so.  I used a lot of threaded applications on arm, and they
> : worked fine.  However, this might be some obscure bug.
> 
> I know that 6.x ARM worked with threads no problem.  We had dozens of
> threads in our control programs.
> 
> The one caveat is that I've found bugs in the atomic routines in the
> past, and have had people submit fixes as well.  All of those should
> be in the tree, but since some arrived when I was crazy busy for
> Cisco, they might have fallen on the floor.

At least in my short test threads seem to work:
[70]Please.tell.me.who.am.I# gcc -Wall -pthread -o thread thread.c
5.000u 0.000s 0:15.80 42.7%     39273+42143k 7+0io 0pf+0w
[71]Please.tell.me.who.am.I# ./thread
hello world
hello world from thread
[72]Please.tell.me.who.am.I# cat thread.c 
#include <pthread.h>
#include <stdint.h>
#include <stdio.h>
#include <unistd.h>

void *
mythread(void *arg)
{
        printf("hello world from thread\n");
        return NULL;
}

int
main(int argc, char *argv[])
{
        printf("hello world\n");
        pthread_t id = 0;
        pthread_create(&id, NULL, mythread, NULL);
        sleep(10);
        return 0;
}

-- 
B.Walter <bernd@bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.



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