1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
freebsd/lib/libthr/pthread.map
Jilles Tjoelker da7d2afb6d Add accept4() system call.
The accept4() function, compared to accept(), allows setting the new file
descriptor atomically close-on-exec and explicitly controlling the
non-blocking status on the new socket. (Note that the latter point means
that accept() is not equivalent to any form of accept4().)

The linuxulator's accept4 implementation leaves a race window where the new
file descriptor is not close-on-exec because it calls sys_accept(). This
implementation leaves no such race window (by using falloc() flags). The
linuxulator could be fixed and simplified by using the new code.

Like accept(), accept4() is async-signal-safe, a cancellation point and
permitted in capability mode.
2013-05-01 20:10:21 +00:00

416 lines
8.5 KiB
Plaintext

/*
* $FreeBSD$
*/
/*
* Use the same naming scheme as libc.
*/
FBSD_1.0 {
__error;
accept;
aio_suspend;
close;
connect;
creat;
execve;
fcntl;
fork;
fsync;
msync;
nanosleep;
open;
pause;
poll;
pselect;
pthread_atfork;
pthread_barrier_destroy;
pthread_barrier_init;
pthread_barrier_wait;
pthread_barrierattr_destroy;
pthread_barrierattr_getpshared;
pthread_barrierattr_init;
pthread_barrierattr_setpshared;
pthread_attr_destroy;
pthread_attr_get_np;
pthread_attr_getdetachstate;
pthread_attr_getguardsize;
pthread_attr_getinheritsched;
pthread_attr_getschedparam;
pthread_attr_getschedpolicy;
pthread_attr_getscope;
pthread_attr_getstack;
pthread_attr_getstackaddr;
pthread_attr_getstacksize;
pthread_attr_init;
pthread_attr_setcreatesuspend_np;
pthread_attr_setdetachstate;
pthread_attr_setguardsize;
pthread_attr_setinheritsched;
pthread_attr_setschedparam;
pthread_attr_setschedpolicy;
pthread_attr_setscope;
pthread_attr_setstack;
pthread_attr_setstackaddr;
pthread_attr_setstacksize;
pthread_cancel;
pthread_cleanup_pop;
pthread_cleanup_push;
pthread_cond_broadcast;
pthread_cond_destroy;
pthread_cond_init;
pthread_cond_signal;
pthread_cond_timedwait;
pthread_cond_wait;
pthread_condattr_destroy;
pthread_condattr_getclock;
pthread_condattr_getpshared;
pthread_condattr_init;
pthread_condattr_setclock;
pthread_condattr_setpshared;
pthread_create;
pthread_detach;
pthread_equal;
pthread_exit;
pthread_getconcurrency;
pthread_getprio;
pthread_getschedparam;
pthread_getspecific;
pthread_join;
pthread_key_create;
pthread_key_delete;
pthread_kill;
pthread_main_np;
pthread_multi_np;
pthread_mutex_destroy;
pthread_mutex_getprioceiling;
pthread_mutex_init;
pthread_mutex_lock;
pthread_mutex_setprioceiling;
pthread_mutex_timedlock;
pthread_mutex_trylock;
pthread_mutex_unlock;
pthread_mutexattr_destroy;
pthread_mutexattr_getkind_np;
pthread_mutexattr_getprioceiling;
pthread_mutexattr_getpshared;
pthread_mutexattr_getprotocol;
pthread_mutexattr_gettype;
pthread_mutexattr_init;
pthread_mutexattr_setkind_np;
pthread_mutexattr_setprioceiling;
pthread_mutexattr_setprotocol;
pthread_mutexattr_setpshared;
pthread_mutexattr_settype;
pthread_once;
pthread_resume_all_np;
pthread_resume_np;
pthread_rwlock_destroy;
pthread_rwlock_init;
pthread_rwlock_rdlock;
pthread_rwlock_timedrdlock;
pthread_rwlock_timedwrlock;
pthread_rwlock_tryrdlock;
pthread_rwlock_trywrlock;
pthread_rwlock_unlock;
pthread_rwlock_wrlock;
pthread_rwlockattr_destroy;
pthread_rwlockattr_getpshared;
pthread_rwlockattr_init;
pthread_rwlockattr_setpshared;
pthread_set_name_np;
pthread_self;
pthread_setcancelstate;
pthread_setcanceltype;
pthread_setconcurrency;
pthread_setprio;
pthread_setschedparam;
pthread_setspecific;
pthread_sigmask;
pthread_single_np;
pthread_spin_destroy;
pthread_spin_init;
pthread_spin_lock;
pthread_spin_trylock;
pthread_spin_unlock;
pthread_suspend_all_np;
pthread_suspend_np;
pthread_switch_add_np;
pthread_switch_delete_np;
pthread_testcancel;
pthread_timedjoin_np;
pthread_yield;
raise;
read;
readv;
recvfrom;
recvmsg;
select;
sendmsg;
sendto;
sigaction;
sigprocmask;
sigsuspend;
sigwait;
sigwaitinfo;
sigtimedwait;
sleep;
system;
tcdrain;
usleep;
wait;
wait3;
wait4;
waitpid;
write;
writev;
};
/*
* List the private interfaces reserved for use in FreeBSD libraries.
* These are not part of our application ABI.
*/
FBSDprivate_1.0 {
___creat;
___pause;
___pselect;
___sigwait;
___sleep;
___system;
___tcdrain;
___usleep;
___wait;
___waitpid;
__accept;
__accept4;
__aio_suspend;
__close;
__connect;
__fcntl;
__fsync;
__msync;
__nanosleep;
__open;
__openat;
__poll;
__pthread_cond_timedwait;
__pthread_cond_wait;
__pthread_cxa_finalize;
__pthread_mutex_init;
__pthread_mutex_lock;
__pthread_mutex_timedlock;
__pthread_mutex_trylock;
__read;
__readv;
__recvfrom;
__recvmsg;
__select;
__sendmsg;
__sendto;
__sigsuspend;
__sigtimedwait;
__sigwaitinfo;
__wait3;
__wait4;
__write;
__writev;
_fork;
_pthread_atfork;
_pthread_barrier_destroy;
_pthread_barrier_init;
_pthread_barrier_wait;
_pthread_barrierattr_destroy;
_pthread_barrierattr_getpshared;
_pthread_barrierattr_init;
_pthread_barrierattr_setpshared;
_pthread_attr_destroy;
_pthread_attr_get_np;
_pthread_attr_getaffinity_np;
_pthread_attr_getdetachstate;
_pthread_attr_getguardsize;
_pthread_attr_getinheritsched;
_pthread_attr_getschedparam;
_pthread_attr_getschedpolicy;
_pthread_attr_getscope;
_pthread_attr_getstack;
_pthread_attr_getstackaddr;
_pthread_attr_getstacksize;
_pthread_attr_init;
_pthread_attr_setaffinity_np;
_pthread_attr_setcreatesuspend_np;
_pthread_attr_setdetachstate;
_pthread_attr_setguardsize;
_pthread_attr_setinheritsched;
_pthread_attr_setschedparam;
_pthread_attr_setschedpolicy;
_pthread_attr_setscope;
_pthread_attr_setstack;
_pthread_attr_setstackaddr;
_pthread_attr_setstacksize;
_pthread_cancel;
_pthread_cancel_enter;
_pthread_cancel_leave;
_pthread_cleanup_pop;
_pthread_cleanup_push;
_pthread_cond_broadcast;
_pthread_cond_destroy;
_pthread_cond_init;
_pthread_cond_signal;
_pthread_cond_timedwait;
_pthread_cond_wait;
_pthread_condattr_destroy;
_pthread_condattr_getclock;
_pthread_condattr_getpshared;
_pthread_condattr_init;
_pthread_condattr_setclock;
_pthread_condattr_setpshared;
_pthread_create;
_pthread_detach;
_pthread_equal;
_pthread_exit;
_pthread_getaffinity_np;
_pthread_getconcurrency;
_pthread_getcpuclockid;
_pthread_getprio;
_pthread_getschedparam;
_pthread_getspecific;
_pthread_getthreadid_np;
_pthread_join;
_pthread_key_create;
_pthread_key_delete;
_pthread_kill;
_pthread_main_np;
_pthread_multi_np;
_pthread_mutex_destroy;
_pthread_mutex_getprioceiling;
_pthread_mutex_getspinloops_np;
_pthread_mutex_getyieldloops_np;
_pthread_mutex_init;
_pthread_mutex_init_calloc_cb;
_pthread_mutex_isowned_np;
_pthread_mutex_lock;
_pthread_mutex_setprioceiling;
_pthread_mutex_setspinloops_np;
_pthread_mutex_setyieldloops_np;
_pthread_mutex_timedlock;
_pthread_mutex_trylock;
_pthread_mutex_unlock;
_pthread_mutexattr_destroy;
_pthread_mutexattr_getkind_np;
_pthread_mutexattr_getprioceiling;
_pthread_mutexattr_getprotocol;
_pthread_mutexattr_getpshared;
_pthread_mutexattr_gettype;
_pthread_mutexattr_init;
_pthread_mutexattr_setkind_np;
_pthread_mutexattr_setprioceiling;
_pthread_mutexattr_setprotocol;
_pthread_mutexattr_setpshared;
_pthread_mutexattr_settype;
_pthread_once;
_pthread_resume_all_np;
_pthread_resume_np;
_pthread_rwlock_destroy;
_pthread_rwlock_init;
_pthread_rwlock_rdlock;
_pthread_rwlock_timedrdlock;
_pthread_rwlock_timedwrlock;
_pthread_rwlock_tryrdlock;
_pthread_rwlock_trywrlock;
_pthread_rwlock_unlock;
_pthread_rwlock_wrlock;
_pthread_rwlockattr_destroy;
_pthread_rwlockattr_getpshared;
_pthread_rwlockattr_init;
_pthread_rwlockattr_setpshared;
_pthread_self;
_pthread_set_name_np;
_pthread_setaffinity_np;
_pthread_setcancelstate;
_pthread_setcanceltype;
_pthread_setconcurrency;
_pthread_setprio;
_pthread_setschedparam;
_pthread_setspecific;
_pthread_sigmask;
_pthread_single_np;
_pthread_spin_destroy;
_pthread_spin_init;
_pthread_spin_lock;
_pthread_spin_trylock;
_pthread_spin_unlock;
_pthread_suspend_all_np;
_pthread_suspend_np;
_pthread_switch_add_np;
_pthread_switch_delete_np;
_pthread_testcancel;
_pthread_timedjoin_np;
_pthread_yield;
_raise;
_setcontext;
_sigaction;
_sigprocmask;
_sigsuspend;
_sigtimedwait;
_sigwait;
_sigwaitinfo;
_spinlock;
_spinlock_debug;
_spinunlock;
_swapcontext;
/* Debugger needs these. */
_libthr_debug;
_thread_active_threads;
_thread_bp_create;
_thread_bp_death;
_thread_event_mask;
_thread_keytable;
_thread_last_event;
_thread_list;
_thread_max_keys;
_thread_off_attr_flags;
_thread_off_dtv;
_thread_off_event_buf;
_thread_off_event_mask;
_thread_off_key_allocated;
_thread_off_key_destructor;
_thread_off_linkmap;
_thread_off_next;
_thread_off_report_events;
_thread_off_state;
_thread_off_tcb;
_thread_off_tid;
_thread_off_tlsindex;
_thread_size_key;
_thread_state_running;
_thread_state_zoombie;
__pthread_map_stacks_exec;
};
FBSD_1.1 {
__pthread_cleanup_pop_imp;
__pthread_cleanup_push_imp;
pthread_attr_getaffinity_np;
pthread_attr_setaffinity_np;
pthread_getaffinity_np;
pthread_getcpuclockid;
pthread_setaffinity_np;
pthread_mutex_getspinloops_np;
pthread_mutex_getyieldloops_np;
pthread_mutex_isowned_np;
pthread_mutex_setspinloops_np;
pthread_mutex_setyieldloops_np;
};
FBSD_1.2 {
openat;
pthread_getthreadid_np;
setcontext;
swapcontext;
};
FBSD_1.3 {
accept4;
};