Interfaces suportadas
Nos sistemas AIX, os símbolos _POSIX_THREADS, _POSIX_THREAD_ATTR_STACKADDR, _POSIX_THREAD_ATTR_STACKSIZE e _POSIX_THREAD_PROCESS_SHARED são sempre definidos.
Portanto, as interfaces de threads a seguir são suportadas.
POSIX interfaces
A seguir está uma lista de interfaces POSIX :
- pthread_atfork
- pthread_attr_destruir
- pthread_attr_getdetachstate
- pthread_attr_getplanejparam
- pthread_attr_getstacksize
- pthread_attr_getstackaddr
- pthread_attr_init
- pthread_attr_setdetachstate
- pthread_attr_setprogramparam
- pthread_attr_setstackaddr
- pthread_attr_setstacksize
- pthread_cancelar
- pthread_cleanup_pop
- pthread_cleanup_push
- pthread_detach
- pthread_equal
- pthread_exit
- pthread_getspecific
- pthread_join
- pthread_key_create
- pthread_key_delete
- pthread_kill
- pthread_mutex_destruir
- pthread_mutex_init
- pthread_mutex_lock
- pthread_mutex_trylock
- pthread_mutex_unlock
- pthread_mutexattr_destruir
- pthread_mutexattr_getpshared
- pthread_mutexattr_init
- pthread_mutexattr_setpshared
- pthread_once
- pthread_self
- pthread_setcancelstate
- pthread_setcanceltype
- pthread_setspecific
- pthread_sigmask
- pthread_testcancelar
- pthread_cond_broadcast
- pthread_cond_destruir
- pthread_cond_init
- pthread_cond_signal
- pthread_cond_timedwait
- pthread_cond_wait
- pthread_condattr_destruir
- pthread_condattr_getpshared
- pthread_condattr_init
- pthread_condattr_setpshared
- pthread_create
- signo
Especificação única do UNIX, versão 2 Interfaces
A seguir está uma lista de interfaces Single UNIX Specification, Versão 2 :
- pthread_attr_getguardsize
- pthread_attr_setguardsize
- pthread_getconcurrency
- pthread_mutexattr_gettype
- pthread_mutexattr_settype
- pthread_rwlock_destruir
- pthread_rwlock_init
- pthread_rwlock_rdlock
- pthread_rwlock_tryrdlock
- pthread_rwlock_trywrlock
- pthread_rwlock_unlock
- pthread_rwlock_wrlock
- pthread_rwlockattr_destruir
- pthread_rwlockattr_getpshared
- pthread_rwlockattr_init
- pthread_rwlockattr_setpshared
- pthread_setconmoeda
Em sistemas AIX , o símbolo _POSIX_THREAD_SAFE_FUNCTIONS é sempre definido. Por isso, as interfaces a seguir são sempre suportadas:
- asctime_r
- ctime_r
- arquivo de rebanho
- ftrylockfile
- arquivo funlockfile
- getc_unlocked
- getchar_unlocked
- getgrgid_r
- getgrnam_r
- getpwnam_r
- getpwuid_r
- gmtime_r
- localtime_r
- putc_unlocked
- putchar_unlocked
- rand_r
- readdir_r
- strtok_r
AIX não suporta as interfaces a seguir; os símbolos são fornecidos mas eles sempre retornam um erro e configuram o errno para ENOSYS:
- pthread_mutex_getprioceiling
- pthread_mutex_setprioceiling
- pthread_mutexattr_getprioceiling
- pthread_mutexattr_getprotocol
- pthread_mutexattr_setprioceiling
- pthread_mutexattr_setprotocol
Interfaces não encadeadas
Biblioteca libc.a (funções padrão):
- avanço
- horário de pico
- brk
- catgets
- chroot
- compilar
- ctempo
- cuserid
- dbm_clearerr
- dbm_close
- dbm_delete
- dbm_error
- dbm_fetch
- dbm_firstkey
- dbm_nextkey
- dbm_open
- dbm_store
- dirnome
- drand48
- ecvt
- criptografar
- final
- endpwent
- suportxente
- fcvt
- gama
- gcvt
- getc_unlocked
- getchar_unlocked
- getdate
- getdtablesize
- getgrent
- getgrgid
- getgrnam
- getlogin
- getopt
- getpagesize
- getpass
- getpwent
- getpwnam
- getpwuid
- getutxent
- getutxid
- getutxline
- getw
- getw
- gmtempo
- l64a
- lgamma
- LOCALTIME
- lrand48
- mrand48
- nl_langinfo
- ptsnome
- putc_unlocked
- putchar_unlocked
- pututxline
- colocar
- rand
- aleatório
- readdir
- re_comp
- re_exec
- regcmp
- regex
- sbrk
- setgrent
- setkey
- setpwent
- setutxente
- sigstack
- srand48
- saleatório
- avançar
- strerror
- estrtok
- ttyname
- ttyslot
- wait3
As seguintes interfaces AIX não são threadsafe.
libc.a Biblioteca (AIXfunções específicas):
- endfenviados
- endttyent
- suportado
- getfsent
- getfsfile
- getfsspec
- getfstype
- getttyent
- getttynam
- getutente
- getutid
- getutline
- pututline
- setfsent
- colono
- setuente
- utmpname
Biblioteca libbsd.a :
- fuso horário
Bibliotecas libm.a e libmsaa.a :
- gama
- lgamma
Nenhuma das funções nas bibliotecas a seguir é threadsafe:
- libPW.a
- libblas.a
- libcur.a
- libcurses.a
- libplot.a
- libprint.a
As interfaces ctermid e tmpnam não são threadsafe se forem passadas um argumento NULL.
Em um programa multiencadeado não é recomendado executar o setlocale () subroutine simultaneamente a partir de múltiplas threads se uma das threads chamar setlocale () subroutine de dentro de uma rotina de inicialização do módulo.
Nota: Certas subroutines podem ser implementadas como macros em alguns sistemas. Evite usar o endereço de subroutines de threads.