Commit Graph

680 Commits

Author SHA1 Message Date
Gregory Nutt d5207efb5a Be consistent... Use Name: consistent in function headers vs Function: 2017-04-21 16:33:14 -06:00
Ritajina eab139a539 libc/netdb: in dns_query_callback, ret != -EADDRNOTAVAIL condition consumes error returns including EAGAIN in this case, dns query retransmission doesn't work 2017-04-12 06:41:08 -06:00
Gregory Nutt 948332ca34 pthreads: Backed most of last pthread changes. Found the 'real' root poblem. A one like error in pthread_mutex.c. 2017-04-10 09:51:03 -06:00
Gregory Nutt 84849cfc5e examples/ostest: pthread rwlock cleanup handlers must call pthread_consistent, not pthread_mutex_unlock() on cancellation if robust mutexes are enabled. 2017-04-10 08:44:08 -06:00
Juha Niskanen 755e9312b5 pthread: use cancel cleanup handlers in rwlock 2017-04-10 07:18:16 -06:00
Mark Schulte 2b1ca79b4b pthread rwlock bugfixes 2017-04-07 15:45:24 -06:00
Gregory Nutt b631dc886f Remove CONFIG_PTHREAD_RWLOCK. Rwlock interfaces built unconditionally. 2017-04-07 07:34:22 -06:00
Mark Schulte 7bb26d2615 pthreads: Adding rwlock implementation
Adding an implementation for read/write locks into the pthread library.
These locks are writer priority, such that if any writers come in they
are given priority for writing.
2017-04-07 07:03:00 -06:00
Gregory Nutt 1b6630ee75 6loWPAN: Fix compile errors and warnings when building the complete 6loWPAN configuration. 2017-04-02 17:46:22 -06:00
Gregory Nutt 0ded0f5866 Update README and comments 2017-03-30 08:43:07 -06:00
Jussi Kivilinna dffb8a67e3 Add entropy pool and strong random number generator
Entropy pool gathers environmental noise from device drivers, user-space, etc., and returns good random numbers, suitable for cryptographic use. Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm for CSPRNG output.

Patch also adds /dev/urandom support for using entropy pool RNG and new 'getrandom' system call for getting randomness without file-descriptor usage (thus avoiding file-descriptor exhaustion attacks). The 'getrandom' interface is similar as 'getentropy' and 'getrandom' available on OpenBSD and Linux respectively.
2017-03-30 07:38:37 -06:00
Gregory Nutt b07d3fc305 Rename CONFIG_MUTEX_TYPES to CONFIG_PTHREAD_MUTEX_TYPES 2017-03-27 09:08:14 -06:00
Gregory Nutt d1196ddb60 pthread mutex: Forgot to add files in last commit 2017-03-27 07:49:13 -06:00
Gregory Nutt 666208cf23 pthread mutexes: Add option to support both unsafe and robust mutexes via pthread_mutexattr_get/setrobust(). 2017-03-26 18:37:24 -06:00
Gregory Nutt bacc4e9b93 Update errno values. Add new values; remove obsolete values 2017-03-26 09:22:00 -06:00
Jussi Kivilinna d0c54039dc Add ffsl(), ffsll(), fls(), flsl(), flsll() and use GCC's __builtin_ctz/__builtin_clz for faster implementation of these 2017-03-24 09:41:31 -06:00
Jussi Kivilinna acec5e3199 vsnprintf(): If size is zero, then vsnprintf() should return the size of the required buffer without writing anything. This is same fix that was done for snprintf in 2014 by commit 59846a8fe9. 2017-03-17 17:34:56 -06:00
Jussi Kivilinna ac0d957f26 libc: printf: fix precision for string formatting. Fixes use of format precision to truncate input string. 2017-03-17 17:32:44 -06:00
Gregory Nutt 360539afac Priority inheritance: When CONFIG_SEM_PREALLOCHOLDERS==0, there is only a single, hard-allocated holder structure. This is problem because in sem_wait() the holder is released, but needs to remain in the holder container until sem_restorebaseprio() is called. The call to sem_restorebaseprio() must be one of the last things the sem_wait() does because it can cause the task to be suspended. If in sem_wait(), a new task gets the semaphore count then it will fail to allocate the holder and will not participate in priority inheritance. This fix is to add two hard-allocated holders in the sem_t structure: One of the old holder and one for the new holder. 2017-03-10 09:30:15 -06:00
Gregory Nutt 769427ed5a pthreads: Fix pthread_mutexattr_init(). It was not initializing the protocol field when priority inheritance is enabled. 2017-03-10 09:24:41 -06:00
Gregory Nutt ba117284c2 Update some coments. 2017-03-08 14:30:47 -06:00
Alan Carvalho de Assis d43380d543 Add wcstoull function 2017-03-08 13:28:50 -06:00
Alan Carvalho de Assis d9bfcfc330 Add mbsnrtowcs wcsnrtombs just returning sucess 2017-03-08 13:24:03 -06:00
Alan Carvalho de Assis 8bc080b7c6 Add swprintf function 2017-03-08 13:00:37 -06:00
Alan Carvalho de Assis 5e3280bba1 C Library: Add wcstod function 2017-03-08 12:52:03 -06:00
Alan Carvalho de Assis 2d1ace3ee5 Add wcstof function 2017-03-08 12:47:23 -06:00
Alan Carvalho de Assis 6e0afb2905 C library: Ad wcstol() and wcstold(). 2017-03-08 12:42:20 -06:00
Alan Carvalho de Assis 2f5024b4a1 Add wcstoul function 2017-03-08 12:32:36 -06:00
Alan Carvalho de Assis 3ccef07863 C library: Add wcstoll function 2017-03-08 12:26:35 -06:00
Gregory Nutt 05a288f2e1 C library: Add strerror_r 2017-03-08 12:14:07 -06:00
Gregory Nutt f97a99e051 C library: Remove unused static global from lib_dtoa.c 2017-02-26 18:17:08 -06:00
David Sidrane 4692399e18 Fixes warning and file name 2017-02-22 19:19:49 +00:00
Gregory Nutt 4539988d00 Removed CONFIG_LIBC_ARCH_BZERO. bzero() is a deprecated interface. There are no architecture-specific replacements and, if there were, they should replace memset(), not bzero(). 2017-02-22 10:41:49 -06:00
Gregory Nutt 4d23bfd73d Update libc/libc.csv 2017-02-16 16:35:24 -06:00
Gregory Nutt 4f5879f998 C library: Add ffs(). Add strings.h. Move strcasecmp, strncasecmp, bzero, bcmp, and bcopy to where they belong in strings.h.h, not string.h. bzero, bcmp, and bcopy are legacy functions; the contemporary counterparts should be used instead. 2017-02-16 16:10:09 -06:00
Gregory Nutt 2cfbf9c8d8 C library: Add strtoimax and strtoumax. 2017-02-16 15:12:37 -06:00
Gregory Nutt 4ed3ae19d7 Add file that I forgot to add in last commit. Move libc/stdlib/lib_imaxabs.c to inittypes/. 2017-02-16 14:54:35 -06:00
Gregory Nutt a49b349614 C library: Add swab() 2017-02-16 14:42:27 -06:00
Gregory Nutt fed9d5a0f8 cunistd: Fix stray single back quote the crept in in last commit. 2017-02-16 11:22:02 -06:00
Gregory Nutt b4d378adb8 Don't build libc/pthread if pthreasa are disable. Fix a warning in dirent logic if mountpoints are disabled. 2017-02-16 09:53:13 -06:00
Gregory Nutt 1ca0437909 libc/Kconfig: Remove source'ing file twice. Use cleaner dependencies in some menus. 2017-02-10 10:28:34 -06:00
Gregory Nutt 67feda60b2 libc/Kconfig: Use menus vs. comments to better organize the C library menus 2017-02-10 10:04:56 -06:00
Gregory Nutt de1b68dc4e libc/Kconfig: Break big Kconfig up into separate Kconfig files in each libc subdirectory. 2017-02-10 09:32:55 -06:00
David Sidrane 6295d571ce Minor typos 2017-02-09 22:58:37 +00:00
Gregory Nutt 9946969c6c libc/stdio/Make.defs: the no-flush stubs now need to be built unconditionally 2017-02-09 16:37:17 -06:00
Gregory Nutt 0b4a9539be tools/mkconfig.c: Add logic to keep all of the buffering options in sync. 2017-02-09 16:17:54 -06:00
Gregory Nutt 98d072a1f7 Apparently setvbuf() size can be nonzero with _IONBF. That makes no sense, but is necessary if setbuf() is to work as it is defined at OpenGroup.org. 2017-02-09 15:39:33 -06:00
Gregory Nutt ffbf6bc9a6 libc/misc/fs_filesem.c references struct file_struct. Should include nuttx/fs/fs.h 2017-02-09 15:16:36 -06:00
Gregory Nutt c19aa094e1 C Library: Add setbuf() which is a trivial wrapper around setvbuf(). 2017-02-09 15:04:53 -06:00
Gregory Nutt 085dcf92e3 Update Coding Standard and some Kconfig comments. 2017-02-09 12:57:44 -06:00