[ovs-dev] [threads 00/11] basic thread support library

Ed Maste emaste at freebsd.org
Wed Jun 19 21:45:30 UTC 2013


On 19 June 2013 17:22, Ben Pfaff <blp at nicira.com> wrote:
> On Wed, Jun 19, 2013 at 05:20:11PM -0400, Ed Maste wrote:
>> On 19 June 2013 16:17, Ben Pfaff <blp at nicira.com> wrote:
>> > This series has two purposes:
>> >
>> >     * Add a basic thread support library to the tree.
>> >
>> >     * Get rid of all calls to C library functions that POSIX describes
>> >       as inherently unsafe in a multithreaded program, and then add a
>> >       make-time check that flags an error if any calls get reintroduced.
>>
>> This fails to build on FreeBSD for me, because it appears to rely on
>> header leakage for stdint.h types.
>>
>> In file included from lib/ovs-atomic.h:237,
>>                  from lib/ovs-thread.h:23,
>>                  from lib/command-line.c:22:
>> lib/ovs-atomic-c11.h:26: error: expected '=', ',', ';', 'asm' or
>> '__attribute__' before 'uint8_t'
>
> Does this mean that FreeBSD has <stdatomic.h>?  Is it fully
> functional?  That's the one implementation I wasn't able to test,
> because I didn't know of any C11 implementations with <stdatomic.h>.

Indeed we do, and it should be functional.  SVN history is here if
you're interested:
http://svnweb.freebsd.org/base/head/sys/sys/stdatomic.h

That said, it seems it wasn't stdint.h per se that was the problem; I
needed to change:

-typedef _Atomic uint8_t   atomic_uint8_t;
+typedef _Atomic(uint8_t)   atomic_uint8_t;

etc.



More information about the dev mailing list