Jon Turney
fdb7df230d
Add pthread_getname_np and pthread_setname_np
...
This patch adds pthread_getname_np and pthread_setname_np.
These were added to glibc in 2.12[1] and are also present in some form on
NetBSD and several UNIXes.
The code is based on NetBSD's implementation with changes to better match
Linux behaviour.
Implementation quirks:
* pthread_setname_np with a NULL pointer segfaults (as linux)
* pthread_setname_np returns ERANGE for names longer than 16 characters (as
linux)
* pthread_getname_np with a NULL pointer returns EFAULT (as linux)
* pthread_getname_np with a buffer length of less than 16 returns ERANGE (as
linux)
* pthread_getname_np truncates the thread name to fit the buffer length.
This guarantees success even when the default thread name is longer than 16
characters, but means there is no way to discover the actual length of the
thread name. (Linux always truncates the thread name to 16 characters)
* Changing program_invocation_short_name changes the default thread name (on
linux, it has no effect on the default thread name)
I'll leave it up to you to decide if any of these matter.
This is implemented via class pthread_attr to make it easier to add
pthread_attr_[gs]etname_np (present in NetBSD and some UNIXes) should it
ever be added to Linux (or we decide we want it anyway).
[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS
2016-08-23 15:07:42 +01:00
Corinna Vinschen
0df76cbd63
Document nl_langinfo_l and separate POSIX from GNU extensions in release message
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-20 17:24:16 +02:00
Corinna Vinschen
238455adfa
Implement strto[dflu]_l/wcsto[dflu]_l
...
Implement GNU extensions strtod_l, strtof_l, strtol_l, strtold_l, strtoll_l,
strtoul_l, strtoull_l, wcstod_l, wcstof_l, wcstol_l, wcstold_l, wcstoll_l,
wcstoul_l, wcstoull_l.
Export from Cygwin, fix posix.xml.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 17:35:21 +02:00
Corinna Vinschen
765d2c0bac
Implement strfmon_l
...
Use latest code from FreeBSD
Signed-off by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 10:56:58 +02:00
Corinna Vinschen
c1b7d9d93d
Implement per-locale string functions
...
strcasecmp_l, strcoll_l, strncasecmp_l, strxfrm_l,
wcscasecmp_l, wcscoll_l, wcstrncasecmp_l, wcstrxfrm_l,
strftime_l.
Add missing CHEWOUT_FILES from previous patch.
TODO: strfmon_l.
Signed-off by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 10:56:58 +02:00
Corinna Vinschen
8493c16316
Implement all per-locale ctype functions
...
Signed-off by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 10:56:57 +02:00
Corinna Vinschen
c402f0388f
posix.xml: Note duplocale, freelocale, newlocale, uselocale as implemented
...
Signed-off by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 10:56:57 +02:00
Corinna Vinschen
886f89ac39
posix.xml: Add missing unimplemented functions from POSIX-1.2013
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-07-23 13:56:52 +02:00
Corinna Vinschen
3d90769979
Document implemented functions
...
* posix.xml (std-susv4): Add newly implemented math SUSv4 math
functions. Add missing functions strtold and tcgetsid. Re-sort.
(std-gnu): Add clog10l, exp10l, pow10l, sincos{f,l}.
(std-notimpl): Drop now implemented functions.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-03-29 17:45:01 +02:00
Yaakov Selkowitz
8b1ede3ce1
cygwin: Export clog10, clog10f
...
winsup/cygwin/
* common.din: Add clog10, clog10f.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
winsup/doc/
* new-features.xml (ov-new2.5): Mention clog10, clog10f.
* posix.xml (std-gnu): Add clog10, clog10f.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-02-22 14:45:37 -06:00
Corinna Vinschen
10e0db58e4
Document pthread_barrier* functions as implemented
...
posix.xml (std-susv4): Add pthread_barrier* functions.
(std-notimpl): Remove here.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-02-13 17:03:36 +01:00
Yaakov Selkowitz
ed8beb5361
cygwin: export rpmatch(3)
...
winsup/cygwin/
* common.din (rpmatch): Export.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
winsup/doc/
* new-features.xml (ov-new2.4): New section. Document rpmatch.
* posix.xml (std-bsd): Add rpmatch.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2015-11-17 12:23:33 -06:00
Corinna Vinschen
6b457615e6
Export aligned_alloc, at_quick_exit, quick_exit.
...
* common.din (aligned_alloc): Export.
(at_quick_exit): Export.
(quick_exit): Export.
* posix.xml (std-iso): New section.
(std-deprec): Rearrange title text.
* new-features.xml (ov-new2.3): Document aligned_alloc, at_quick_exit,
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-10-22 16:21:17 +02:00
Corinna Vinschen
1020bb292a
Implement getcontext, setcontext, makecontext, swapcontext
...
* common.din (getcontext): Export.
(makecontext): Export.
(setcontext): Export.
(swapcontext): Export.
* exceptions.cc (__unwind_single_frame): New static functions, 64 bit
only.
(setcontext): New function.
(getcontext): New function.
(swapcontext): New function.
(__cont_link_context): New function.
(makecontext): New function.
* include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2002.
(CYGWIN_VERSION_API_MINOR): Bump.
* include/ucontext.h (getcontext): Add prototype.
(setcontext): Ditto.
(swapcontext): Ditto.
(makecontext): Ditto.
* ntdll.h (NtContinue): Ditto.
* new-features.xml (ov-new2.2): Add new section. Document getcontext,
setcontext, makecontext, swapcontext.
* posix.xml (std-deprec): Add getcontext, setcontext, makecontext,
swapcontext.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-07-17 14:31:12 +02:00
Corinna Vinschen
b782f869bf
Add alternate signal stack to docs
...
* new-features.xml (ov-new2.1): Add alterante signal stack info.
* posix.xml (std-susv4): Move sigaltstack here.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-06-20 20:30:17 +02:00
Corinna Vinschen
e4bdbca6eb
Add sethostname to API list
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-06-17 11:22:14 +02:00
Yaakov Selkowitz
75d5f68aab
cygwin: add GNU basename(3)
...
winsup/cygwin/
* common.din (__gnu_basename): Export.
* path.cc (__gnu_basename): New function.
winsup/doc/
* posix.xml (std-gnu): Add basename.
(std-notes): Add note about two forms of basename.
2015-04-23 21:57:08 +02:00
Corinna Vinschen
1d7a60f56c
* posix.xml (std-bsd): Add issetugid.
2015-03-04 11:44:07 +00:00
Corinna Vinschen
06d1f1fc0a
* posix.xml (std-gnu): Add missing __mempcpy.
2015-02-15 09:14:02 +00:00
Corinna Vinschen
cf213809c4
* posix.xml (std-susv4): Move cabsl, cimagl, creall, hypotl, sqrtl here
...
from std-notimpl. Add finitel.
2015-02-06 17:12:18 +00:00
Corinna Vinschen
604656a35a
* posix.xml (std-susv4): Move wcstold here from std-notimpl.
2015-02-04 11:05:24 +00:00
Corinna Vinschen
ae8a802c29
* posix.xml (std-susv4): Move sockatmark here from std-notimpl.
2015-01-20 18:24:23 +00:00
Yaakov Selkowitz
b2149cb666
* new-features.xml (ov-new1.7.34): Document Solaris stdio_ext.h
...
functions and BSD/GNU unlocked stdio extensions.
* posix.xml (std-bsd): Add BSD unlocked stdio extensions.
(std-gnu): Add GNU unlocked stdio extensions.
(std-solaris): Add stdio_ext.h functions.
2014-12-18 16:55:27 +00:00
Corinna Vinschen
dad2a13870
* posix.xml (std-solaris): Point to libtirpc for xdr functions.
2014-12-06 17:13:00 +00:00
Yaakov Selkowitz
5acd9c007f
* new-features.xml (ov-new1.7.34): Document qsort_r and __bsd_qsort_r.
...
* posix.xml (std-bsd): Add qsort_r.
(std-gnu): Ditto.
(std-notes): Add section for qsort_r.
2014-12-05 16:33:02 +00:00
Corinna Vinschen
419092e490
* posix.xml (std-gnu): Add ffsl, ffsll, quotactl.
...
(std-notes): Add restrictions of quotactl.
2014-10-22 19:29:33 +00:00
Yaakov Selkowitz
8a091aad42
* new-features.xml (ov-new1.7.33): Document stime.
...
* posix.xml (std-deprec): Add stime.
2014-10-22 19:18:50 +00:00
Corinna Vinschen
6b31215816
* Makefile.in: Throughout use parenthesis instead of braces where
...
appropriate.
(DBXDIRS): Remove.
(XSLTPROC): Define for symmetry. Use throughout.
(clean): Drop removing cygwin-api.xml and doctool.*.
(cygwin-api.xml): Drop rule.
(doctool): Drop rule.
(Makefile.dep): Add dependency to cygwin-api.xml.
* cygwin-api.in.xml: Rename to cygwin-api.xml. Convert includes to
XML XInclude style.
* doctool.c: Remove.
* doctool.txt: Remove.
* faq-programming.xml: Drop reference to local utils.xml file.
* path.xml: Moved from ../cygwin and converted to XML.
* posix.xml: Ditto.
* using.xml: Drop relative path from utils.xml include.
* utils.xml: Moved from ../utils.
2014-08-14 19:44:29 +00:00