Browse Source

netbsd: add initial support

- thread id
- thread naming
pull/177/head
Brad Smith 1 year ago
committed by Felix Paul Kühne
parent
commit
1ba97cbec5
  1. 1
      configure.ac
  2. 5
      src/Makefile.am
  3. 6
      src/meson.build
  4. 45
      src/netbsd/thread.c

1
configure.ac

@ -494,6 +494,7 @@ AS_IF([test "${SYS}" = "mingw32"],[
])
AM_CONDITIONAL([HAVE_FREEBSD], [test "${SYS}" = "freebsd"])
AM_CONDITIONAL([HAVE_NETBSD], [test "${SYS}" = "netbsd"])
AM_CONDITIONAL([HAVE_OPENBSD], [test "${SYS}" = "openbsd"])
AM_CONDITIONAL([HAVE_LINUX], [test "${SYS}" = "linux"])
AM_CONDITIONAL([HAVE_ANDROID], [test "${VENDOR}" = "android"])

5
src/Makefile.am

@ -494,6 +494,11 @@ libvlccore_la_SOURCES += \
freebsd/thread.c
endif
if HAVE_NETBSD
libvlccore_la_SOURCES += \
netbsd/thread.c
endif
if HAVE_OPENBSD
libvlccore_la_SOURCES += \
openbsd/cpu.c \

6
src/meson.build

@ -405,6 +405,12 @@ else
]
endif
if host_system == 'netbsd'
libvlccore_sources += [
'netbsd/thread.c',
]
endif
if host_system == 'openbsd'
libvlccore_sources += [
'openbsd/cpu.c',

45
src/netbsd/thread.c

@ -0,0 +1,45 @@
/*****************************************************************************
* netbsd/thread.c: NetBSD specifics for threading
*****************************************************************************
* Copyright (C) 2020 Rémi Denis-Courmont
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <pthread.h>
#include <lwp.h>
#include <vlc_common.h>
#include <vlc_threads.h>
#include <vlc_atomic.h>
unsigned long vlc_thread_id(void)
{
static _Thread_local lwpid_t tid = -1;
if (unlikely(tid == -1))
tid = _lwp_self();
return tid;
}
void (vlc_thread_set_name)(const char *name)
{
pthread_setname_np(pthread_self(), "%s", (void *)name);
}
Loading…
Cancel
Save