Blob Blame History Raw
2017-06-02  Werner Koch  <>

	Release 1.5.
	+ commit 77c094e606b3952c470ccfa21b546bb13e4de1db
	* Set LT version to C1/A1/R1.

2017-06-01  NIIBE Yutaka  <>

	Fix busy_wait_for.
	+ commit 4fae99976c31bae53183aeec8df2032aaba2e689
	* src/npth.c (busy_wait_for): Remove comparison negation.

2017-05-16  Werner Koch  <>

	Release 1.4.
	+ commit 9fcc113fc267f3a8d2b8699b41f3c10fa3cb187c
	* Set LT version to C1/A1/R0.

	Add function npth_is_protected.
	+ commit 8a675d6b1dd19018f2579f8c8ce6a58bc5a20a4e
	* src/npth.c (got_sceptre): New.
	(enter_npth, leave_npth): Set.
	(npth_is_protected): New.
	* w32/npth.c: (got_sceptre): New.
	(enter_npth, leave_npth): Set.
	(npth_is_protected): New.
	* w32/npth.def, src/libnpth.vers: Add new function.

2017-04-20  NIIBE Yutaka  <>

	w32: Change the condition for struct timespec.
	+ commit 217bc1c6aabaaebbbb461e2435c2b8f539b271ad
	* w32/npth.h: Fix the ifdef case.

2017-04-05  NIIBE Yutaka  <>

	configure: Add tweak for FreeBSD.
	+ commit b47443d95d5c363e91ef446140d8b60ffe28a58b
	* configure: On FreeBSD, we use -lpthread.

	configure: Add tweak for DragonFlyBSD.
	+ commit 09b73da00e9dd988681ca957b30c461c67924563
	* On DragonFlyBSD, we use -lpthread.

	configure: Add tweak for NetBSD.
	+ commit e31917deefad2a8073817512f9e99bb269a04788
	* On NetBSD, we use -lpthread.

2016-11-29  NIIBE Yutaka  <>

	Use unnamed semaphore of Grand Central Dispatch for macOS.
	+ commit 8f486d084a0e4d9409fb93809ec5b3bf820f343b
	* [*-apple-darwin*]: Search dispatch_semaphore_create
	and define HAVE_LIB_DISPATCH if found.
	* src/npth.c [HAVE_LIB_DISPATCH] (sem_init, sem_post, sem_wait): New.
	* src/npth.c (try_sem_open): Remove.
	* tests/t-fork.c: Add comments.

2016-11-22  Werner Koch  <>

	Release 1.3.
	+ commit d1b8d54bc3d5e4975752d737c271bf8c346dc3a9
	* Bump LT version to C0/A0/R6.

2016-11-21  Werner Koch  <>

	Bypass npth_unprotect/protect when npth has not yet been initialized.
	+ commit 50d6d727c8da21cf78dcd5a2ee969f46864fa124
	* src/npth.c (initialized_or_any_threads): New variable.
	(npth_init): Set var.
	(npth_create): Set var.
	(npth_unprotect, npth_protect): Shortcut if not initialized.

	* w32/npth.c (initialized_or_any_threads): New variable.
	(npth_init): Set var.
	(npth_unprotect, npth_protect): Shortcut if not initialized.

2016-10-10  Justus Winter  <>

	src: Fix setting thread names on macOS.
	+ commit 8cddd2ce70f85eea6c68ca6d03080181a2eea976
	* src/npth.c (npth_setname_np): Support Apple's one-argument form.

2016-07-13  Werner Koch  <>

	build: Update config.{guess,sub} to {2016-05-15,2016-06-20}.
	+ commit 17addb77ee95ccade2060d4469a8b56bc12bfb5e
	* build-aux/config.guess: Update.
	* build-aux/config.sub: Update.

2016-07-05  NIIBE Yutaka  <>

	Fix for semaphore access by child.
	+ commit 6e69a440d2be080cf13cc3c3a72428f7e48457bb
	* src/npth.c (sem_init): Use NPTH_SEMAPHORE_PSHARED.
	* tests/t-fork.c: New.

2016-06-25  Werner Koch  <>

	w32: Include io.h for read(2) and write(2).
	+ commit e345e0133ba79ffc9d181591d349242297d44ab4
	* w32/npth.c: Include io.h.

	Fix problem with regression tests on recent glibc.
	+ commit 3a9d32eb59194b989656548755066ccd9feb36ac
	* Change pthread test to test pthread_detach

2015-11-26  Werner Koch  <>

	Improve debug output.
	+ commit 3ccc6218833e17893eb94a6efdf05a13da94942c
	* w32/npth.c (_npth_debug): Print to stderr.
	(enter_npth, leave_npth): Include the tid in the debug output.

2015-08-25  Werner Koch  <>

	Add configure option --enable-build-timestamp.
	+ commit 4781ced10715e126d7b9c712de970c2606635c27
	* (BUILD_TIMESTAMP): Set to "<none>" by default.  Also
	with ac_define_unquoted.

2015-06-06  Jim Meyering  <> improve check for clock_gettime library.
	+ commit a49a061c65fb3a6d9c58add4dc55435f0c4353a2
	* When using AC_SEARCH_LIBS, handle the case in which
	that function returns "none required". Also, save and restore LIBS
	around the check, and properly m4-quote the first argument to AC_DEFINE.
	Finally, also set and AC_SUBST LIB_CLOCK_GETTIME.
	This added code is very similar to that provided in gnulib's
	* tests/ (LDADD): Append $(LIB_CLOCK_GETTIME).

2015-04-28  NIIBE Yutaka  <>

	npth-config: supply a library dependency for clock_gettime.
	+ commit c2015a2bafa99fdab8f26af9b60e93f1d36ac166
	* (clock_gettime): Update config_libs.

2015-04-11  Werner Koch  <>

	Release 1.2.
	+ commit bc97d5175065aa9682527f6760094c50ce199c3c

2015-02-03  Werner Koch  <>

	w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.
	+ commit 3ffea74924704c0986fde3e5e8b19d4fc55cfcb9
	* w32/ Remove non-Windows stuff.
	(extra_ltoptions): New.
	(libnpth_la_LDFLAGS): Use it.

2015-01-28  Werner Koch  <>

	Switch to automake 1.14.
	+ commit a2614eafa085bdb5a618589aaabc9edaabb83d1f
	* (AUTOMAKE_OPTIONS): Move to ...
	* (AM_INIT_AUTOMAKE): here.  Add serial-tests.
	* build-aux/compile: Add.
	* build-aux/config.guess, build-aux/config.sub: Update.
	* build-aux/depcomp: Update.
	* build-aux/missing: Update.

2014-12-18  Werner Koch  <>

	Don't get fooled by leave_npth changing ERRNO.
	+ commit c90a48fa62ce6215aba1f87b49dab848fb59a5b7
	* src/npth.c: Save ERRNO.

2014-10-31  Werner Koch  <>

	Release 1.1.
	+ commit 7a3175b90a6164342e1e771bfd206c56c60fcb2c
	* Set LT version to C0/A0/R4.

2014-10-29  Werner Koch  <>

	Allow use on systems which return ENOSYS for sem_init.
	+ commit 510135a23bb92fa527541e7d81bf6f831db306a5
	* src/npth.c: Include some more headers.
	(sceptre_buffer): New.
	(sceptre): Change to a pointer and init to sceptre_buffer.
	(enter_npth, leave_npth): Adjust.
	(try_sem_open): New.
	(npth_init): Check for ENOSYS and use sem_open.

2014-09-18  Werner Koch  <>

	Release 1.0.
	+ commit 79fbdcedb5429537ba116c9fc118f148c7b33d4f
	* Set LT version to C0/A0/R2.

2014-06-27  Werner Koch  <>

	w32: Fix segv in npth_eselect.
	+ commit 8a687d0c71f2b66dd6b6e9dd2fe17e32fb04f5e1
	* w32/npth.c (npth_eselect): Obvious fix.

	w32: Change an npth_eselect arg to unsigned.
	+ commit 3716fd6d877d672ba0b77d01ba5abf6af55bfaf1
	* w32/npth.c (npth_eselect): Change arg EVENTS_SET to unsigned int.

2014-06-26  Werner Koch  <>

	w32: Let npth_eselect return 0 for timeout. Fix replacement error codes.
	+ commit 9534958a92146d705f4b2714dd11f038f0b1cb4b
	* w32/npth.c (npth_eselect): Remove debug output.  Return 0 for timeout.
	* w32/npth.h (ETIMEDOUT, EOPNOTSUPP):  Change to more correct values.

2014-02-19  Werner Koch  <>

	w32: Make npth_eselect actually work.
	+ commit 75dba175e0ea15c395c7d74323e5bee43791317a
	* w32/npth.c (npth_eselect): Rewrite.

	w32: Avoid calling FD_ISSET with a NULL fdset.
	+ commit 4312f967099718eb64ba489d5d238d95d156a3f4
	* w32/npth.c (npth_eselect): Check fdset before callig FD_foo.

2014-01-10  Werner Koch  <>

	Use the generic script.
	+ commit 477ce6965e2be38880adae9479d1cc947f3aa853
	* autogen.rc: New.
	* (EXTRA_DIST): Add it.
	* Update from GnuPG.

	Move helper scripts to build-aux.
	+ commit e18f8674dc7b0a02d78560be9dbe04452e04133d
	* config.guess, config.sub, depcomp, install-sh
	*, missing: Move to build-aux/.

2014-01-09  Werner Koch  <>

	Fix creation of w32 npth-config tool.
	+ commit f976b55fc1987edd2c199c3a6ff35f2ee7495aa9
	* src/ Move to ../.
	* src/npth.m4: Move to ../.
	* w32/ Remove.
	* w32/npth.m4: Remove.
	* (EXTRA_DIST): Add and npth.m4.
	(bin_SCRIPTS): new.
	(m4datadir, m4data_DATA): New.
	* (AC_CONFIG_FILES): Adjust accordingly.

	Add configure option --enable-silent-rules.
	+ commit 8115fbf33e8886474a57e270a384a2b7fc91002c

	Update libtool to support Android.
	+ commit e63e1d4ff0d569fc571e5891c529f66d79da38ca
	* m4/libtool.m4: Add "linux*android*" case.  Taken from the

	Update config.{guess.sub} to a decent version (2013-11-29)
	+ commit 6dce1db4fb9d2839def4b68d775a454add851bee

	Add hack to have different names for 64 bit Windows DLLs.
	+ commit 0ec6f3afe0ac02ba56dd8f54fdfa92935a4accce
	* Prefix the SO number for W64 with a "6".

	Fix libtool 2.4.2 to correctly detect .def files.
	+ commit f69b1749ad81cb82f161cfa7aad5ecc782befd9b
	* (sed_uncomment_deffile): New.
	(orig_export_symbols): Uncomment def file before testing for EXPORTS.
	* m4/libtool.m4: Do the same for the generated code.

	Update libtool to Debian's 2.4.2.
	+ commit 296a3865584c7cde4a1afc86f075bb76c6c07d16

	w32: Fix build problems with current compilers.
	+ commit b116a29432172f2f65e9755dae8d1b976cbc8a8a
	* (NTELIBS): ac_subst for W32.
	* w32/npth.h (struct timespec): Do not define for current mingw-w64

2013-12-10  NIIBE Yutaka  <>

	Conditionalize use of pthread_atfork.
	+ commit 34bafb36df418541982dfcdc0fd9773931cfc3c7
	* Add checking pthread_atfork.

	* src/npth-sigev.c (npth_sigev_fini): Call pthread_atfork only when
	it's available.

2013-07-03  NIIBE Yutaka  <>

	Restore sigmask at fork.
	+ commit 9a3377bb534654ec398300c1900350b02321f86c
	* src/npth-sigev.c (restore_sigmask_for_child_process): New.
	(npth_sigev_fini): Register restore_sigmask_for_child_process.

2012-11-21  Ben Kibbey  <>

	Build fix for NetBSD.
	+ commit 95754492a41c8284264476f05e3fe3c50c3b4aa9
	* src/npth.c (npth_setname_np): conditional check for __NetBSD__ and
	adapt correct parameters.

2012-11-16  Werner Koch  <>

	Improve parsing of the GIT revision number.
	+ commit d8ec1a2e01549dcae0240e587a4b663bf5e45172
	* (git_revision): Use git rev-parse.

	Fix non-portable use of chmod in
	+ commit cd01413fe060c4633a8056ae50e776424d8c7a75
	* Remove option -c from chmod.

2012-09-26  Werner Koch  <>

	Make local variables configure hack more robust.
	+ commit 522743d2d621fc2c5230cc546ef17f4e896b464a
	* (emacs_local_vars_begin): Use extra m4 quoting so that
	newer Emscasen won't take it up as Local Variables for this file.

2012-08-08  Werner Koch  <>

	Release 0.91.
	+ commit e63a929ab90f4f17928f36f2d073f2a6f9f93bc6
	* Bump LT version to C0/A0/R2.

2012-05-15  Werner Koch  <>

	Really fix the version number parsing.
	+ commit 5bce7b5a742359da68f4c0aef35e98fe7335714e
	* src/npth.m4 (_AM_PATH_NPTH_CONFIG, _AM_PATH_NPTH_CONFIG]: Fix last
	fix.  Print detected version number.  Print warning for non-matching

	Fix version number parsing in npth.m4.
	+ commit 1b34fdadc449bf16c30b36e7a7ad272bd224b3fd
	* src/npth.m4: Adjust for n.m style version numbers.

2012-05-10  Werner Koch  <>

	Provide gettimeofday fallback for clock_gettime.
	+ commit 4e25a69e9e869ea58fb4f6eeab64bcd74c86174d
	* (AC_CHECK_FUNCS): Check for gettimeofday.
	* src/npth.c (npth_clock_gettime): Use gettimeofday if clock_gettime
	is not available.

	Return an error if npth_rwlock_timedwrlock is not supported.
	+ commit 363c370bd35dd0bb4e5636b2d4f06ea88c658794
	* src/npth.c (npth_rwlock_timedwrlock): Return ENOSYS if there is no
	way to build it.

	Avoid compiler warning for debug variable.
	+ commit 4b84b65203a41229c1775d515963ed65af2c5eea
	* src/npth.c (main_thread): Flag as volatile.

	Include required headers into pth.h.
	+ commit 09f3fccf2cf7c03fd16ebce26ae5ff2ee58effc7
	* src/ Include sys/time.h and signal.h.  Include time.h only
	if available.
	Detect header files and ac_subst snippets.

	Remove obsolete debug stuff.
	+ commit 957044558c489ce55835501e4c2dc30d6a28dc79
	* src/npth.c (enter_npth, leave_npth): Remove argument and debug
	(ENTER, LEAVE): Adjust macros accordingly.

	Add a basic create and join thread test case.
	+ commit 246d9e5f0201286c380eef88f5cfa1dafd16b428
	* tests/t-thread.c: New
	* tests/t-support.h (opt_verbose):  New.
	(fail_msg, info_msg): New.

	Make npth_setname_np actually work.
	+ commit b4c396baaf824d1315708e81b4768cc7e13ab226
	* src/npth.c (npth_setname_np): Fix typo in name and test macro.

	Check for -lsocket et al.
	+ commit 96964e02c18a7d79375da9481c8f9d8c35404b7b
	* m4/libsocket.m4: New.  Stripped down from gnulib's socketlib.m4.
	* tests/ (LDADD): Add LIBSOCKET.
	* (NETLIBS): Remove because it is not used.
	(npth_LIBSOCKET): Call.

2012-05-09  Werner Koch  <>

	Add a pselect emulation.
	+ commit 74bf5068ac96a2abb66d60b86acc1882f0d864d1
	* src/npth.c [!HAVE_PSELECT]: Include signal.h
	(npth_pselect) [!HAVE_PSELECT]: Implement a crude pselect emulation
	* (AC_CHECK_FUNCS): Test for pselect.

	Cleanup the debug code.
	+ commit f24cc48ef797f7338a4d95db412ba61e60ba3cf7
	Debugging was only used for initial testing and there is no interface
	to enable it at runtime.  This change make the code a little bit

	Take care of possible surprising sem_init implementations.
	+ commit 05e423336a86f0530f50d567060a799d2824dff7
	* src/npth.c (npth_init): Return an error only for POSIX.1-2008.

	Make the t-mutex test more robust.
	+ commit 2c86233acfeef843167694f45fd3f208d5ec96b6
	* tests/t-support.h: Simplify.
	* tests/t-mutex.c: Include t-support.h.
	(main): Check each call and explicitly return 0.

	Let npth_init actually return an error.
	+ commit a03223379c937763df9873c4ba9aa8a64cbd94d7
	* src/npth.c (npth_init): Return ERRNO.

	Provide a replacement for socklen_t.
	+ commit a5d8a7fb56caef0e03ad6ebc8287eacf8c5dd7ba
	* m4/socklen.m4, m4/sys_socket_h.m4: New.
	* src/ (INSERT_SOCKLEN_T): New substitution.
	(npth_connect, npth_accept): Use _npth_socklen_t.

	Do not use ___FUNCTION__.
	+ commit 9596d679b14eeedbe0f06fecbaeeded84b05e719
	* src/npth.c: Define replacement for __func__.
	(ENTER, LEAVE): Use __func__.

	Tweak for building with c99.
	+ commit 219fcc09f224d9c0ceb2c4b4b87831ba6349527b
	* tests/ (AM_CPPFLAGS): Add -D_POSIX_C_SOURCE=200112L.

	Add unistd.h is available.
	+ commit 6d15e15d142b6843ea955a85badd370093585372
	* (AC_CHECK_HEADERS): Test for unistd.h.
	* src/npth.c [HAVE_UNISTD_H]: Include unistd.h.

2012-05-04  Werner Koch  <>

	Implement git magic to create beta version numbers.
	+ commit e44910011d30d13a858ccd46455b2fc33527e06a
	* (BUILD_FILEVERSION): Move after detection of W32.

	Release 0.90.
	+ commit 9670c423161c7561020e724fe739815b93665bcd
	* Bump LT version to C0/A0/R1.

2012-03-09  Marcus Brinkmann  <>

	Support Android API level earlier than 9.
	+ commit cbb52bd5ada02bbd914869f4540221831358d077
	* src/npth.h [__ANDROID__]: Include <android/api-level.h>
	(_NPTH_NO_RWLOCK) [__ANDROID__ && __ANDROID_API__ < 9]: Define.
	(npth_rwlockattr_t, npth_rwlockattr_init, npth_rwlockattr_destroy,
	npth_rwlockattr_gettype_np, npth_rwlockattr_settype_np,
	NPTH_MUTEX_INITIALIZER, npth_rwlock_t, npth_rwlock_init,
	npth_rwlock_destroy, npth_rwlock_tryrdlock, npth_rwlock_rdlock,
	npth_rwlock_trywrlock, npth_rwlock_timedrdlock, npth_rwlock_wrlock,
	npth_rwlock_rdlock, npth_rwlock_timedwrlock, npth_rwlock_unlock
	(_NPTH_NO_RWLOCK): Alternative implementation based on mutex.

2012-02-28  Marcus Brinkmann  <>

	Remove npth_yield.
	+ commit c30634abebb287f56a6a2480b4bbd2ffc166dd4d
	* src/ (npth_yield): Macro removed (should have been a
	function anyway).
	* w32/npth.c (npth_yield): Remove function.
	* w32/npth.h (npth_yield): Remove prototype.
	* w32/npth.def (npth_yield): Remove symbol export.

	Make rwlock try and timed functions optional.
	+ commit 798d166a64ed88e75e2827579f6be1526d73f54f
	* Check for pthread_rwlock_rdlock, pthread_rwlock_wrlock,
	pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
	pthread_rwlock_tryrdlock, pthread_rwlock_trywrlock.
	* src/npth.c (trylock_func_t): New type.
	(busy_wait_for): New function.
	(npth_mutex_timedlock) [!HAVE_PTHREAD_MUTEX_TIMEDLOCK]: Reimplement
	in terms of busy_wait_for.
	(npth_rwlock_rdlock, npth_rwlock_timedrdlock)
	(npth_rwlock_wrlock, npth_rwlock_timedwrlock)
	(npth_rwlock_timedrdlock) [!HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK]:
	Use busy_wait_for.
	(npth_rwlock_timedwrlock) [!HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK]:
	Use busy_wait_for.

	Add generated files src/npth.h and w32/npth-config.
	+ commit 4a98eac43e7ad36c32f2feacf261ddcec81b20e9

2012-02-08  Marcus Brinkmann  <>

	Fix include path for non-w32 builds.
	+ commit 96caea9d6c0a38eecb07ca4009c00dbcd20ab63f
	* tests/ (AM_CPPFLAGS) [!HAVE_W32_SYSTEM]:
	Locate header in build dir, not src.

2012-01-31  Marcus Brinkmann  <>

	Implement npth_mutex_timedlock for inferior systems.
	+ commit 64b99056b8ef2cf13a5ef206193d7ef40ee2bdb3
	* Check for pthread_mutex_timedlock.
	* src/npth.c (BUSY_WAIT_INTERVAL): New macro.
	(npth_mutex_timedlock): If pthread_mutex_timedlock is missing,
	use a poke-the-stick-at-it strategy.

2012-01-27  Werner Koch  <>

	Include sys/select.h if needed.
	+ commit 3a8ebdd6a418461ac57994676f27aac13a444d4c
	* src/npth.h: Rename to  Include sys/select.h if
	available. Add usual read-only comments.
	* Create npth.h.
	(emacs_local_vars_read_only): New vars to support read-only switching.

	Update config.guess and config.sub.
	+ commit 3cc80f63c0b0ebeb521e48debfd2a7fadcbb4116
	* config.guess, config.sub: Update to version 2012-01-01.
	* Fix typo.

	Encapsulate clock_gettime.
	+ commit 951bd3e3487f07df82855ec4068af4f0226a7a67
	* src/ (libnpth_la_LDFLAGS): Remove -pthread and -lrt.
	* src/npth.h (npth_clock_gettime): Turn macro into a function.
	* src/npth.c (npth_clock_gettime): New.
	* src/libnpth.vers: Add npth_clock_gettime.

	Improve pthread library detection.
	+ commit edbf7f1c802f82262ac595fc77bffefab2118573
	* Reorder some code.  Improve pthread test to take libc
	in account.  Generate NPTH_CONFIG_LIBS from tests.
	* w32/ Ditto.
	* tests/ (AM_CPPFLAGS, AM_LDFLAGS): Don not pass -pthread.

2012-01-26  Werner Koch  <>

	Remove unused include files from npth.h.
	+ commit 8fac9f692d47147050333ec7f12a8a5ec497be54
	* src/npth.h: Remove unused poll.h and errno.h includes.

	Make npth_{s,g}etname_np portable.
	+ commit dbfcb88f4281e8b69a41959c94ea658b7550160c
	These functions are usually used for debugging.  On systems where
	they are not easy to support they will now simply return ENOSYS.
	* Check for pthread_setname_np and pthread_getname_np.
	* src/libnpth.vers: Add npth_setname_np and npth_getname_np.
	* src/npth.c (npth_setname_np, npth_getname_np): New.
	* src/npth.h (npth_setname_np, npth_getname_np): Turn macros into

	Check for the non-portable pthread_tryjoin_np.
	+ commit 6fde8b5a7463204f93cf537515921b1734c83364
	* Check for pthread_tryjoin_np.  Also rework the pthread
	test to update LIBS
	* src/npth.c (npth_join) [HAVE_PTHREAD_TRYJOIN_NP]: Use
	pthread_tryjoin_np only if available.

2012-01-25  Marcus Brinkmann  <>

	Fix thread startup.
	+ commit f142c818e60d338b2df197ca3351b2f567ff6dfe
	* src/npth.c (npth_create): Fix startup data use.

2012-01-25  Werner Koch  <>

	Include stdlib.h for malloc prototypes.
	+ commit 9f488127ff9d59cdb9e89600e5aa1821f85379ae
	* src/npth.c: Include stdlib.h.

2012-01-24  Werner Koch  <>

	Require gitlog-to-changelog to be installed.
	+ commit 0c481067f73d2c4e49fca85f2647cc550d23315d
	* (gen-ChangeLog): Do no use included gitlog-to-changelog.
	Use options --append-dot and --tear-off.
	* build-aux/gitlog-to-changelog: Remove from repo.

2012-01-23  Marcus Brinkmann  <>

	Allow manually unprotect/protect calls.
	+ commit 1c690fa8dad058f6facb1473ad2dcc326ed2aea9
	* src/libnpth.vers (npth_unprotect, npth_protect): New symbols.
	* src/npth.c (npth_unprotect, npth_protect): New functions.
	* src/npth.h (npth_unprotect, npth_protect): New declaration.
	* w32/npth.def (npth_unprotect, npth_protect): New exports.
	* w32/npth.c (npth_unprotect, npth_protect): New functions.
	* w32/npth.h (npth_unprotect, npth_protect): New declaration.

2012-01-19  Marcus Brinkmann  <>

	Allow no extra events in npth_eselect.
	+ commit b64e43f18b198ad2ce0665168f1c84f058204b77
	* w32/npth.c (npth_eselect): Allow events to be NULL.

	Implement ability to wait on sockets and events.
	+ commit ae0f5109f13a892b3e7b30c829cbe08832b9e971
	* w32/npth.c (npth_eselect): New function.
	* w32/npth.h (npth_eselect): New declaration.
	* w32/npth.def (npth_eselect): New export.

	Remove libnpth.vers dependency.
	+ commit cf3f76455ef5cc1cb76e7e85e2bc4079fc293119
	* w32/ (libnpth_la_DEPENDENCIES): Remove libnpth.vers.

	Release mutex temporarily on instant timeout in npth_cond_timedwait.
	+ commit e6ced3f9f52878a78fa926938bf569c717f7fa49
	* w32/npth.c (npth_cond_timedwait): Release mutex temporarily even on
	instant timeout.

2012-01-13  Marcus Brinkmann  <>

	Remove obsolete file.
	+ commit d3e70c770f6031414449ad4cde7aaba7d6b1478e
	* src/ (EXTRA_DIST): Remove npth.def
	* src/npth.def: Removed.

	Initial support for w32.
	+ commit d2769a96a07d11f3c9f7ff6e9d2ce4e0fbc750a3
	* [HAVE_W32_SYSTEM]: Build from w32 directory.
	* Don't check for pthread on windows.  Add winsock
	library on windows.  Add w32 subdirectory to config files.
	* w32/npth.h, w32/npth.c, w32/, w32/npth.def,
	w32/, w32/npth.m4: New files.
	* tests/ Allow building on w32.

	Add missing function npth_system.
	+ commit 8cf18d22725e301a4b2b052d8d73b35cdb157d38
	* src/npth.c (npth_system): New function.

2012-01-11  Marcus Brinkmann  <>

	Remove duplicated macro.
	+ commit dd7054ea0c3f11ea7fc25a39b7bb68ec78d178df

	Add some missing interfaces.
	+ commit 9785a216bc95d80b3222f8dc4ff0f70c5c183651
	* npth.h (npth_key_delete, NPTH_ERRORCHECK_MUTEX_INITIALIZER_NP,
	npth_rwlockattr_t, npth_rwlockattr_init, npth_rwlockattr_destroy,
	npth_rwlockattr_gettype_np, npth_rwlockattr_settype_np,
	New macros.
	(NPTH_RWLOCK_INIT): Rename to ...

2012-01-06  Marcus Brinkmann  <>

	Fix exclusion logic at thread creation and allow main thread to exit.
	+ commit 316f3deca8450633ba6724eb55d54fd9249610fb
	* libnpth.vers (npth_create, npth_exit): New.
	* npth.def (npth_create, npth_exit): Likewise.
	* npth.h (npth_create): Change from macro to declaration.
	(npth_exit): New declaration.
	* npth.c (startup_s): New struct.
	(thread_startup, npth_create, npth_exit): New functions.

2011-12-06  Werner Koch  <>

	Create the ChangeLog from the git commit log.
	+ commit 46d0a03879612c6dcddc5bf93004881f9c768cd6
	* Install git commit log checker.
	* build-aux/git-hooks/commit-msg: New.  Repo only.
	* build-aux/git-log-fix: New.  Repo only.
	* build-aux/git-log-footer: New.  Repo only.
	* build-aux/gitlog-to-changelog: New.  Repo only.
	* HACKING: New.
	* (gen-Changelog): New rule.
	(dist-hook):  Depend on gen-Changelog.
	* ChangeLog: New stub file.

2011-11-07  Marcus Brinkmann  <>

	* src/npth.c (leave_npth): Loop over sem_wait on EINTR.

2011-10-26  Marcus Brinkmann  <>

	* src/npth.h (npth_mutex_destroy): Add it.
	(npth_join): Make it a proper function.
	(_npth_mutex_lock, _npth_mutex_timedlock, _npth_rwlock_rdlock)
	(_npth_rwlock_timedrdlock, _npth_rwlock_wrlock)
	(_npth_rwlock_timedwrlock): Renamed to the variant without the
	leading underscore.  There was no reason to have the static
	function wrappers.
	* src/npth.c: Corresponding changes here.
	* src/npth.def: Also here.
	* src/libnpth.vers: Likewise.

2011-10-07  Marcus Brinkmann  <>

	* src/npth.h (npth_mutexattr_t, npth_mutexattr_init)
	(npth_mutexattr_destroy, npth_mutexattr_settype)
	(npth_mutexattr_gettype, NPTH_MUTEX_NORMAL, NPTH_MUTEX_RECURSIVE)
	* src/npth.c (npth_mutex_init): Removed.
	* src/libnpth.vers: Remove npth_mutex_init.
	* src/npth.def: Likewise.  Add missing numbers.
	* tests/t-mutex.c: Adjust to new interface.

2011-10-06  Marcus Brinkmann  <>

	* Initial version.

	Copyright (C) 2011 g10 Code GmbH

	Copying and distribution of this file and/or the original GIT
	commit log messages, with or without modification, are
	permitted provided the copyright notice and this notice are