noderb 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +19 -0
- data/README.md +25 -0
- data/ext/noderb_extension/extconf.rb +11 -0
- data/ext/noderb_extension/libuv/AUTHORS +11 -0
- data/ext/noderb_extension/libuv/LICENSE +48 -0
- data/ext/noderb_extension/libuv/Makefile +119 -0
- data/ext/noderb_extension/libuv/README +45 -0
- data/ext/noderb_extension/libuv/build/all.gyp +254 -0
- data/ext/noderb_extension/libuv/build/common.gypi +13 -0
- data/ext/noderb_extension/libuv/build/gyp_uv +43 -0
- data/ext/noderb_extension/libuv/config-mingw.mk +67 -0
- data/ext/noderb_extension/libuv/config-unix.mk +121 -0
- data/ext/noderb_extension/libuv/create-msvs-files.bat +14 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ANNOUNCE +482 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/BUGS +141 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Bmakefile +268 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/CONTRIBUTORS +140 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING +150 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/COPYING.LIB +504 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ChangeLog +5194 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/FAQ +451 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/GNUmakefile +593 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/MAINTAINERS +4 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Makefile +516 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/NEWS +1245 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile +24 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/Nmakefile.tests +260 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/PROGRESS +4 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README +601 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.Borland +57 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.CV +3036 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.NONPORTABLE +783 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.Watcom +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/README.WinCE +6 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/TODO +7 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/WinCE-PORT +222 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/attr.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/autostatic.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/barrier.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/build/all.gyp +207 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/builddmc.bat +9 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/cancel.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/cleanup.c +148 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/condvar.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/config.h +153 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/context.h +74 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/create.c +308 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/dll.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/errno.c +94 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/exit.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/fork.c +39 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/global.c +107 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/implement.h +944 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/misc.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/mutex.c +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/need_errno.h +145 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/nonportable.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/private.c +54 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.c +66 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsp +142 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.dsw +29 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread.h +1368 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_destroy.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getdetachstate.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getinheritsched.c +51 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedparam.c +52 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getschedpolicy.c +61 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getscope.c +54 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstackaddr.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_getstacksize.c +100 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_init.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setdetachstate.c +91 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setinheritsched.c +57 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedparam.c +63 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setschedpolicy.c +55 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setscope.c +62 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstackaddr.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_attr_setstacksize.c +110 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_destroy.c +103 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_init.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrier_wait.c +104 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_destroy.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_getpshared.c +95 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_init.c +85 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_barrierattr_setpshared.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cancel.c +189 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_destroy.c +253 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_init.c +167 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_signal.c +231 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_cond_wait.c +567 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_destroy.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_getpshared.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_init.c +87 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_condattr_setpshared.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_delay_np.c +172 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_detach.c +136 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_equal.c +76 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_exit.c +106 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getconcurrency.c +45 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getschedparam.c +75 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getspecific.c +87 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getunique_np.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_getw32threadhandle_np.c +65 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_join.c +157 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_create.c +108 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_key_delete.c +125 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_kill.c +105 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_consistent.c +187 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_destroy.c +148 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_init.c +130 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_lock.c +269 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_timedlock.c +324 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_trylock.c +154 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutex_unlock.c +175 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_destroy.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getkind_np.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getpshared.c +95 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_getrobust.c +113 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_gettype.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_init.c +86 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setkind_np.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setpshared.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_setrobust.c +119 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_mutexattr_settype.c +143 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_num_processors_np.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_once.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_destroy.c +143 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_init.c +109 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_rdlock.c +102 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedrdlock.c +109 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_timedwrlock.c +139 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_tryrdlock.c +102 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_trywrlock.c +122 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_unlock.c +93 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlock_wrlock.c +133 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_destroy.c +84 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_getpshared.c +97 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_init.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_rwlockattr_setpshared.c +120 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_self.c +141 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcancelstate.c +125 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setcanceltype.c +126 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setconcurrency.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setschedparam.c +123 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_setspecific.c +167 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_destroy.c +111 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_init.c +123 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_lock.c +80 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_trylock.c +77 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_spin_unlock.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_testcancel.c +103 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_timechange_handler_np.c +108 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/pthread_win32_attach_detach_np.c +258 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_MCS_lock.c +278 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_callUserDestroyRoutines.c +232 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_calloc.c +56 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_cond_check_need_init.c +78 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_getprocessors.c +91 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_is_attr.c +47 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_mutex_check_need_init.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_new.c +94 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processInitialize.c +92 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_processTerminate.c +105 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_relmillisecs.c +132 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_reuse.c +151 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_cancelwrwait.c +50 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_rwlock_check_need_init.c +77 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_semwait.c +135 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_spinlock_check_need_init.c +78 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadDestroy.c +79 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_threadStart.c +357 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_throw.c +189 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_timespec.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocCreate.c +118 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/ptw32_tkAssocDestroy.c +114 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/rwlock.c +51 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched.c +53 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched.h +183 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_max.c +134 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_get_priority_min.c +135 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_getscheduler.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_setscheduler.c +83 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sched_yield.c +71 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_close.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_destroy.c +144 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_getvalue.c +110 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_init.c +169 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_open.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post.c +128 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_post_multiple.c +142 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_timedwait.c +238 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_trywait.c +117 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_unlink.c +58 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sem_wait.c +187 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.c +69 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/semaphore.h +169 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/signal.c +179 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/spin.c +46 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/sync.c +43 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/tsd.c +44 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/version.rc +388 -0
- data/ext/noderb_extension/libuv/deps/pthread-win32/w32_CancelableWait.c +161 -0
- data/ext/noderb_extension/libuv/doc/desired-api.md +159 -0
- data/ext/noderb_extension/libuv/doc/iocp-links.html +574 -0
- data/ext/noderb_extension/libuv/include/ares.h +582 -0
- data/ext/noderb_extension/libuv/include/ares_version.h +24 -0
- data/ext/noderb_extension/libuv/include/eio.h +376 -0
- data/ext/noderb_extension/libuv/include/ev.h +835 -0
- data/ext/noderb_extension/libuv/include/ngx-queue.h +102 -0
- data/ext/noderb_extension/libuv/include/tree.h +762 -0
- data/ext/noderb_extension/libuv/include/uv-unix.h +138 -0
- data/ext/noderb_extension/libuv/include/uv-win.h +187 -0
- data/ext/noderb_extension/libuv/include/uv.h +635 -0
- data/ext/noderb_extension/libuv/src/ares/AUTHORS +37 -0
- data/ext/noderb_extension/libuv/src/ares/CHANGES +1198 -0
- data/ext/noderb_extension/libuv/src/ares/CMakeLists.txt +22 -0
- data/ext/noderb_extension/libuv/src/ares/NEWS +21 -0
- data/ext/noderb_extension/libuv/src/ares/README +60 -0
- data/ext/noderb_extension/libuv/src/ares/README.cares +13 -0
- data/ext/noderb_extension/libuv/src/ares/README.msvc +118 -0
- data/ext/noderb_extension/libuv/src/ares/README.node +21 -0
- data/ext/noderb_extension/libuv/src/ares/RELEASE-NOTES +25 -0
- data/ext/noderb_extension/libuv/src/ares/TODO +23 -0
- data/ext/noderb_extension/libuv/src/ares/ares__close_sockets.c +66 -0
- data/ext/noderb_extension/libuv/src/ares/ares__get_hostent.c +263 -0
- data/ext/noderb_extension/libuv/src/ares/ares__read_line.c +71 -0
- data/ext/noderb_extension/libuv/src/ares/ares__timeval.c +111 -0
- data/ext/noderb_extension/libuv/src/ares/ares_cancel.c +63 -0
- data/ext/noderb_extension/libuv/src/ares/ares_data.c +190 -0
- data/ext/noderb_extension/libuv/src/ares/ares_data.h +65 -0
- data/ext/noderb_extension/libuv/src/ares/ares_destroy.c +105 -0
- data/ext/noderb_extension/libuv/src/ares/ares_dns.h +90 -0
- data/ext/noderb_extension/libuv/src/ares/ares_expand_name.c +193 -0
- data/ext/noderb_extension/libuv/src/ares/ares_expand_string.c +75 -0
- data/ext/noderb_extension/libuv/src/ares/ares_fds.c +62 -0
- data/ext/noderb_extension/libuv/src/ares/ares_free_hostent.c +39 -0
- data/ext/noderb_extension/libuv/src/ares/ares_free_string.c +25 -0
- data/ext/noderb_extension/libuv/src/ares/ares_gethostbyaddr.c +292 -0
- data/ext/noderb_extension/libuv/src/ares/ares_gethostbyname.c +515 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getnameinfo.c +426 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getopt.c +122 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getopt.h +53 -0
- data/ext/noderb_extension/libuv/src/ares/ares_getsock.c +72 -0
- data/ext/noderb_extension/libuv/src/ares/ares_init.c +1665 -0
- data/ext/noderb_extension/libuv/src/ares/ares_ipv6.h +78 -0
- data/ext/noderb_extension/libuv/src/ares/ares_library_init.c +132 -0
- data/ext/noderb_extension/libuv/src/ares/ares_library_init.h +39 -0
- data/ext/noderb_extension/libuv/src/ares/ares_llist.c +86 -0
- data/ext/noderb_extension/libuv/src/ares/ares_llist.h +42 -0
- data/ext/noderb_extension/libuv/src/ares/ares_mkquery.c +195 -0
- data/ext/noderb_extension/libuv/src/ares/ares_nowarn.c +59 -0
- data/ext/noderb_extension/libuv/src/ares/ares_nowarn.h +24 -0
- data/ext/noderb_extension/libuv/src/ares/ares_options.c +253 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_a_reply.c +260 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_aaaa_reply.c +256 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_mx_reply.c +170 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_ns_reply.c +182 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_ptr_reply.c +208 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_srv_reply.c +179 -0
- data/ext/noderb_extension/libuv/src/ares/ares_parse_txt_reply.c +201 -0
- data/ext/noderb_extension/libuv/src/ares/ares_private.h +351 -0
- data/ext/noderb_extension/libuv/src/ares/ares_process.c +1296 -0
- data/ext/noderb_extension/libuv/src/ares/ares_query.c +183 -0
- data/ext/noderb_extension/libuv/src/ares/ares_rules.h +144 -0
- data/ext/noderb_extension/libuv/src/ares/ares_search.c +322 -0
- data/ext/noderb_extension/libuv/src/ares/ares_send.c +134 -0
- data/ext/noderb_extension/libuv/src/ares/ares_setup.h +191 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strcasecmp.c +66 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strcasecmp.h +30 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strdup.c +42 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strdup.h +26 -0
- data/ext/noderb_extension/libuv/src/ares/ares_strerror.c +56 -0
- data/ext/noderb_extension/libuv/src/ares/ares_timeout.c +80 -0
- data/ext/noderb_extension/libuv/src/ares/ares_version.c +11 -0
- data/ext/noderb_extension/libuv/src/ares/ares_writev.c +79 -0
- data/ext/noderb_extension/libuv/src/ares/ares_writev.h +36 -0
- data/ext/noderb_extension/libuv/src/ares/bitncmp.c +59 -0
- data/ext/noderb_extension/libuv/src/ares/bitncmp.h +26 -0
- data/ext/noderb_extension/libuv/src/ares/config_cygwin/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_darwin/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_freebsd/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_linux/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_openbsd/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_sunos/ares_config.h +510 -0
- data/ext/noderb_extension/libuv/src/ares/config_win32/ares_config.h +369 -0
- data/ext/noderb_extension/libuv/src/ares/get_ver.awk +35 -0
- data/ext/noderb_extension/libuv/src/ares/inet_net_pton.c +450 -0
- data/ext/noderb_extension/libuv/src/ares/inet_net_pton.h +31 -0
- data/ext/noderb_extension/libuv/src/ares/inet_ntop.c +232 -0
- data/ext/noderb_extension/libuv/src/ares/inet_ntop.h +27 -0
- data/ext/noderb_extension/libuv/src/ares/nameser.h +193 -0
- data/ext/noderb_extension/libuv/src/ares/setup_once.h +488 -0
- data/ext/noderb_extension/libuv/src/ares/windows_port.c +22 -0
- data/ext/noderb_extension/libuv/src/eio/Changes +63 -0
- data/ext/noderb_extension/libuv/src/eio/LICENSE +36 -0
- data/ext/noderb_extension/libuv/src/eio/Makefile.am +15 -0
- data/ext/noderb_extension/libuv/src/eio/aclocal.m4 +8957 -0
- data/ext/noderb_extension/libuv/src/eio/autogen.sh +3 -0
- data/ext/noderb_extension/libuv/src/eio/config.h.in +86 -0
- data/ext/noderb_extension/libuv/src/eio/config_cygwin.h +77 -0
- data/ext/noderb_extension/libuv/src/eio/config_darwin.h +137 -0
- data/ext/noderb_extension/libuv/src/eio/config_freebsd.h +78 -0
- data/ext/noderb_extension/libuv/src/eio/config_linux.h +101 -0
- data/ext/noderb_extension/libuv/src/eio/config_sunos.h +81 -0
- data/ext/noderb_extension/libuv/src/eio/configure.ac +22 -0
- data/ext/noderb_extension/libuv/src/eio/demo.c +194 -0
- data/ext/noderb_extension/libuv/src/eio/ecb.h +370 -0
- data/ext/noderb_extension/libuv/src/eio/eio.3 +3428 -0
- data/ext/noderb_extension/libuv/src/eio/eio.c +2562 -0
- data/ext/noderb_extension/libuv/src/eio/eio.pod +969 -0
- data/ext/noderb_extension/libuv/src/eio/libeio.m4 +195 -0
- data/ext/noderb_extension/libuv/src/eio/xthread.h +164 -0
- data/ext/noderb_extension/libuv/src/ev/Changes +388 -0
- data/ext/noderb_extension/libuv/src/ev/LICENSE +36 -0
- data/ext/noderb_extension/libuv/src/ev/Makefile.am +18 -0
- data/ext/noderb_extension/libuv/src/ev/Makefile.in +771 -0
- data/ext/noderb_extension/libuv/src/ev/README +58 -0
- data/ext/noderb_extension/libuv/src/ev/aclocal.m4 +8957 -0
- data/ext/noderb_extension/libuv/src/ev/autogen.sh +6 -0
- data/ext/noderb_extension/libuv/src/ev/config.guess +1526 -0
- data/ext/noderb_extension/libuv/src/ev/config.h.in +125 -0
- data/ext/noderb_extension/libuv/src/ev/config.sub +1658 -0
- data/ext/noderb_extension/libuv/src/ev/config_cygwin.h +123 -0
- data/ext/noderb_extension/libuv/src/ev/config_darwin.h +122 -0
- data/ext/noderb_extension/libuv/src/ev/config_freebsd.h +120 -0
- data/ext/noderb_extension/libuv/src/ev/config_linux.h +130 -0
- data/ext/noderb_extension/libuv/src/ev/config_sunos.h +122 -0
- data/ext/noderb_extension/libuv/src/ev/configure +13037 -0
- data/ext/noderb_extension/libuv/src/ev/configure.ac +18 -0
- data/ext/noderb_extension/libuv/src/ev/depcomp +630 -0
- data/ext/noderb_extension/libuv/src/ev/ev++.h +816 -0
- data/ext/noderb_extension/libuv/src/ev/ev.3 +5311 -0
- data/ext/noderb_extension/libuv/src/ev/ev.c +3913 -0
- data/ext/noderb_extension/libuv/src/ev/ev.pod +5243 -0
- data/ext/noderb_extension/libuv/src/ev/ev_epoll.c +266 -0
- data/ext/noderb_extension/libuv/src/ev/ev_kqueue.c +198 -0
- data/ext/noderb_extension/libuv/src/ev/ev_poll.c +148 -0
- data/ext/noderb_extension/libuv/src/ev/ev_port.c +179 -0
- data/ext/noderb_extension/libuv/src/ev/ev_select.c +310 -0
- data/ext/noderb_extension/libuv/src/ev/ev_vars.h +203 -0
- data/ext/noderb_extension/libuv/src/ev/ev_win32.c +153 -0
- data/ext/noderb_extension/libuv/src/ev/ev_wrap.h +196 -0
- data/ext/noderb_extension/libuv/src/ev/event.c +402 -0
- data/ext/noderb_extension/libuv/src/ev/event.h +170 -0
- data/ext/noderb_extension/libuv/src/ev/install-sh +294 -0
- data/ext/noderb_extension/libuv/src/ev/libev.m4 +39 -0
- data/ext/noderb_extension/libuv/src/ev/ltmain.sh +8413 -0
- data/ext/noderb_extension/libuv/src/ev/missing +336 -0
- data/ext/noderb_extension/libuv/src/ev/mkinstalldirs +111 -0
- data/ext/noderb_extension/libuv/src/uv-common.c +172 -0
- data/ext/noderb_extension/libuv/src/uv-common.h +53 -0
- data/ext/noderb_extension/libuv/src/uv-cygwin.c +52 -0
- data/ext/noderb_extension/libuv/src/uv-darwin.c +64 -0
- data/ext/noderb_extension/libuv/src/uv-eio.c +113 -0
- data/ext/noderb_extension/libuv/src/uv-eio.h +13 -0
- data/ext/noderb_extension/libuv/src/uv-freebsd.c +65 -0
- data/ext/noderb_extension/libuv/src/uv-linux.c +51 -0
- data/ext/noderb_extension/libuv/src/uv-sunos.c +60 -0
- data/ext/noderb_extension/libuv/src/uv-unix.c +2408 -0
- data/ext/noderb_extension/libuv/src/win/async.c +129 -0
- data/ext/noderb_extension/libuv/src/win/cares.c +304 -0
- data/ext/noderb_extension/libuv/src/win/core.c +155 -0
- data/ext/noderb_extension/libuv/src/win/error.c +140 -0
- data/ext/noderb_extension/libuv/src/win/getaddrinfo.c +341 -0
- data/ext/noderb_extension/libuv/src/win/handle.c +176 -0
- data/ext/noderb_extension/libuv/src/win/internal.h +237 -0
- data/ext/noderb_extension/libuv/src/win/loop-watcher.c +128 -0
- data/ext/noderb_extension/libuv/src/win/pipe.c +828 -0
- data/ext/noderb_extension/libuv/src/win/process.c +936 -0
- data/ext/noderb_extension/libuv/src/win/req.c +141 -0
- data/ext/noderb_extension/libuv/src/win/stdio.c +75 -0
- data/ext/noderb_extension/libuv/src/win/stream.c +149 -0
- data/ext/noderb_extension/libuv/src/win/tcp.c +895 -0
- data/ext/noderb_extension/libuv/src/win/timer.c +269 -0
- data/ext/noderb_extension/libuv/src/win/util.c +82 -0
- data/ext/noderb_extension/libuv/test/benchmark-ares.c +117 -0
- data/ext/noderb_extension/libuv/test/benchmark-getaddrinfo.c +90 -0
- data/ext/noderb_extension/libuv/test/benchmark-list.h +77 -0
- data/ext/noderb_extension/libuv/test/benchmark-ping-pongs.c +210 -0
- data/ext/noderb_extension/libuv/test/benchmark-pound.c +237 -0
- data/ext/noderb_extension/libuv/test/benchmark-pump.c +459 -0
- data/ext/noderb_extension/libuv/test/benchmark-sizes.c +39 -0
- data/ext/noderb_extension/libuv/test/benchmark-spawn.c +154 -0
- data/ext/noderb_extension/libuv/test/dns-server.c +323 -0
- data/ext/noderb_extension/libuv/test/echo-server.c +299 -0
- data/ext/noderb_extension/libuv/test/run-benchmarks.c +64 -0
- data/ext/noderb_extension/libuv/test/run-tests.c +82 -0
- data/ext/noderb_extension/libuv/test/runner-unix.c +335 -0
- data/ext/noderb_extension/libuv/test/runner-unix.h +36 -0
- data/ext/noderb_extension/libuv/test/runner-win.c +343 -0
- data/ext/noderb_extension/libuv/test/runner-win.h +42 -0
- data/ext/noderb_extension/libuv/test/runner.c +311 -0
- data/ext/noderb_extension/libuv/test/runner.h +155 -0
- data/ext/noderb_extension/libuv/test/task.h +111 -0
- data/ext/noderb_extension/libuv/test/test-async.c +218 -0
- data/ext/noderb_extension/libuv/test/test-callback-stack.c +205 -0
- data/ext/noderb_extension/libuv/test/test-connection-fail.c +149 -0
- data/ext/noderb_extension/libuv/test/test-delayed-accept.c +198 -0
- data/ext/noderb_extension/libuv/test/test-fail-always.c +29 -0
- data/ext/noderb_extension/libuv/test/test-get-currentexe.c +53 -0
- data/ext/noderb_extension/libuv/test/test-getaddrinfo.c +110 -0
- data/ext/noderb_extension/libuv/test/test-gethostbyname.c +192 -0
- data/ext/noderb_extension/libuv/test/test-getsockname.c +196 -0
- data/ext/noderb_extension/libuv/test/test-hrtime.c +51 -0
- data/ext/noderb_extension/libuv/test/test-idle.c +83 -0
- data/ext/noderb_extension/libuv/test/test-list.h +165 -0
- data/ext/noderb_extension/libuv/test/test-loop-handles.c +361 -0
- data/ext/noderb_extension/libuv/test/test-pass-always.c +28 -0
- data/ext/noderb_extension/libuv/test/test-ping-pong.c +256 -0
- data/ext/noderb_extension/libuv/test/test-pipe-bind-error.c +148 -0
- data/ext/noderb_extension/libuv/test/test-ref.c +91 -0
- data/ext/noderb_extension/libuv/test/test-shutdown-eof.c +183 -0
- data/ext/noderb_extension/libuv/test/test-spawn.c +345 -0
- data/ext/noderb_extension/libuv/test/test-tcp-bind-error.c +204 -0
- data/ext/noderb_extension/libuv/test/test-tcp-bind6-error.c +164 -0
- data/ext/noderb_extension/libuv/test/test-tcp-writealot.c +198 -0
- data/ext/noderb_extension/libuv/test/test-timer-again.c +141 -0
- data/ext/noderb_extension/libuv/test/test-timer.c +134 -0
- data/ext/noderb_extension/noderb.c +340 -0
- data/ext/noderb_extension/noderb.h +2 -0
- data/lib/noderb/connection.rb +21 -0
- data/lib/noderb/process.rb +17 -0
- data/lib/noderb.rb +25 -0
- metadata +470 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Copyright Joyent, Inc. and other Node contributors. All rights reserved.
|
|
2
|
+
#
|
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
# of this software and associated documentation files (the "Software"), to
|
|
5
|
+
# deal in the Software without restriction, including without limitation the
|
|
6
|
+
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
7
|
+
# sell copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
# furnished to do so, subject to the following conditions:
|
|
9
|
+
#
|
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
|
11
|
+
# all copies or substantial portions of the Software.
|
|
12
|
+
#
|
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
18
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
19
|
+
# IN THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
CC = $(PREFIX)gcc
|
|
22
|
+
AR = $(PREFIX)ar
|
|
23
|
+
E=
|
|
24
|
+
CSTDFLAG=--std=c89 -pedantic -Wall -Wextra -Wno-unused-parameter
|
|
25
|
+
CFLAGS=-g
|
|
26
|
+
CPPFLAGS += -Isrc/ev
|
|
27
|
+
LINKFLAGS=-lm
|
|
28
|
+
|
|
29
|
+
CPPFLAGS += -D_LARGEFILE_SOURCE
|
|
30
|
+
CPPFLAGS += -D_FILE_OFFSET_BITS=64
|
|
31
|
+
|
|
32
|
+
ifeq (SunOS,$(uname_S))
|
|
33
|
+
EV_CONFIG=config_sunos.h
|
|
34
|
+
EIO_CONFIG=config_sunos.h
|
|
35
|
+
CPPFLAGS += -Isrc/ares/config_sunos -D__EXTENSIONS__
|
|
36
|
+
LINKFLAGS+=-lsocket -lnsl
|
|
37
|
+
UV_OS_FILE=uv-sunos.c
|
|
38
|
+
endif
|
|
39
|
+
|
|
40
|
+
ifeq (Darwin,$(uname_S))
|
|
41
|
+
EV_CONFIG=config_darwin.h
|
|
42
|
+
EIO_CONFIG=config_darwin.h
|
|
43
|
+
CPPFLAGS += -Isrc/ares/config_darwin
|
|
44
|
+
LINKFLAGS+=-framework CoreServices
|
|
45
|
+
UV_OS_FILE=uv-darwin.c
|
|
46
|
+
endif
|
|
47
|
+
|
|
48
|
+
ifeq (Linux,$(uname_S))
|
|
49
|
+
EV_CONFIG=config_linux.h
|
|
50
|
+
EIO_CONFIG=config_linux.h
|
|
51
|
+
CSTDFLAG += -D_XOPEN_SOURCE=600
|
|
52
|
+
CPPFLAGS += -Isrc/ares/config_linux
|
|
53
|
+
LINKFLAGS+=-lrt
|
|
54
|
+
UV_OS_FILE=uv-linux.c
|
|
55
|
+
endif
|
|
56
|
+
|
|
57
|
+
ifeq (FreeBSD,$(uname_S))
|
|
58
|
+
EV_CONFIG=config_freebsd.h
|
|
59
|
+
EIO_CONFIG=config_freebsd.h
|
|
60
|
+
CPPFLAGS += -Isrc/ares/config_freebsd
|
|
61
|
+
LINKFLAGS+=
|
|
62
|
+
UV_OS_FILE=uv-freebsd.c
|
|
63
|
+
endif
|
|
64
|
+
|
|
65
|
+
ifneq (,$(findstring CYGWIN,$(uname_S)))
|
|
66
|
+
EV_CONFIG=config_cygwin.h
|
|
67
|
+
EIO_CONFIG=config_cygwin.h
|
|
68
|
+
# We drop the --std=c89, it hides CLOCK_MONOTONIC on cygwin
|
|
69
|
+
CSTDFLAG = -D_GNU_SOURCE
|
|
70
|
+
CPPFLAGS += -Isrc/ares/config_cygwin
|
|
71
|
+
LINKFLAGS+=
|
|
72
|
+
UV_OS_FILE=uv-cygwin.c
|
|
73
|
+
endif
|
|
74
|
+
|
|
75
|
+
# Need _GNU_SOURCE for strdup?
|
|
76
|
+
RUNNER_CFLAGS=$(CFLAGS) -D_GNU_SOURCE
|
|
77
|
+
|
|
78
|
+
RUNNER_LINKFLAGS=$(LINKFLAGS) -pthread
|
|
79
|
+
RUNNER_LIBS=
|
|
80
|
+
RUNNER_SRC=test/runner-unix.c
|
|
81
|
+
|
|
82
|
+
uv.a: src/uv-unix.o src/uv-common.o src/uv-platform.o src/ev/ev.o src/uv-eio.o src/eio/eio.o $(CARES_OBJS)
|
|
83
|
+
$(AR) rcs uv.a src/uv-unix.o src/uv-platform.o src/uv-common.o src/uv-eio.o src/ev/ev.o \
|
|
84
|
+
src/eio/eio.o $(CARES_OBJS)
|
|
85
|
+
|
|
86
|
+
src/uv-platform.o: src/$(UV_OS_FILE) include/uv.h include/uv-unix.h
|
|
87
|
+
$(CC) $(CSTDFLAG) $(CPPFLAGS) $(CFLAGS) -c src/$(UV_OS_FILE) -o src/uv-platform.o
|
|
88
|
+
|
|
89
|
+
src/uv-unix.o: src/uv-unix.c include/uv.h include/uv-unix.h
|
|
90
|
+
$(CC) $(CSTDFLAG) $(CPPFLAGS) -Ieio $(CFLAGS) -c src/uv-unix.c -o src/uv-unix.o
|
|
91
|
+
|
|
92
|
+
src/uv-common.o: src/uv-common.c include/uv.h include/uv-unix.h
|
|
93
|
+
$(CC) $(CSTDFLAG) $(CPPFLAGS) $(CFLAGS) -c src/uv-common.c -o src/uv-common.o
|
|
94
|
+
|
|
95
|
+
src/ev/ev.o: src/ev/ev.c
|
|
96
|
+
$(CC) $(CPPFLAGS) $(CFLAGS) -c src/ev/ev.c -o src/ev/ev.o -DEV_CONFIG_H=\"$(EV_CONFIG)\"
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
EIO_CPPFLAGS += $(CPPFLAGS)
|
|
100
|
+
EIO_CPPFLAGS += -DEIO_CONFIG_H=\"$(EIO_CONFIG)\"
|
|
101
|
+
EIO_CPPFLAGS += -DEIO_STACKSIZE=262144
|
|
102
|
+
EIO_CPPFLAGS += -D_GNU_SOURCE
|
|
103
|
+
|
|
104
|
+
src/eio/eio.o: src/eio/eio.c
|
|
105
|
+
$(CC) $(EIO_CPPFLAGS) $(CFLAGS) -c src/eio/eio.c -o src/eio/eio.o
|
|
106
|
+
|
|
107
|
+
src/uv-eio.o: src/uv-eio.c
|
|
108
|
+
$(CC) $(CPPFLAGS) -Isrc/eio/ $(CSTDFLAG) $(CFLAGS) -c src/uv-eio.c -o src/uv-eio.o
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
clean-platform:
|
|
112
|
+
-rm -f src/ares/*.o
|
|
113
|
+
-rm -f src/ev/*.o
|
|
114
|
+
-rm -f src/eio/*.o
|
|
115
|
+
-rm -rf test/run-tests.dSYM run-benchmarks.dSYM
|
|
116
|
+
|
|
117
|
+
distclean-platform:
|
|
118
|
+
-rm -f src/ares/*.o
|
|
119
|
+
-rm -f src/ev/*.o
|
|
120
|
+
-rm -f src/eio/*.o
|
|
121
|
+
-rm -rf test/run-tests.dSYM run-benchmarks.dSYM
|
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
PTHREADS-WIN32 RELEASE 2.9.0 (2007-??-??)
|
|
2
|
+
-----------------------------------------
|
|
3
|
+
Web Site: http://sources.redhat.com/pthreads-win32/
|
|
4
|
+
FTP Site: ftp://sources.redhat.com/pub/pthreads-win32
|
|
5
|
+
Maintainer: Ross Johnson <rpj@callisto.canberra.edu.au>
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
We are pleased to announce the availability of a new release of
|
|
9
|
+
Pthreads-win32, an Open Source Software implementation of the
|
|
10
|
+
Threads component of the POSIX 1003.1 2001 Standard for Microsoft's
|
|
11
|
+
Win32 environment. Some functions from other sections of POSIX
|
|
12
|
+
1003.1 2001 are also supported including semaphores and scheduling
|
|
13
|
+
functions.
|
|
14
|
+
|
|
15
|
+
Some common non-portable functions are also implemented for
|
|
16
|
+
additional compatibility, as are a few functions specific
|
|
17
|
+
to pthreads-win32 for easier integration with Win32 applications.
|
|
18
|
+
|
|
19
|
+
Pthreads-win32 is free software, distributed under the GNU Lesser
|
|
20
|
+
General Public License (LGPL).
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
Acknowledgements
|
|
24
|
+
----------------
|
|
25
|
+
This library is based originally on a Win32 pthreads
|
|
26
|
+
implementation contributed by John Bossom <John.Bossom@cognos.com>.
|
|
27
|
+
|
|
28
|
+
The implementation of Condition Variables uses algorithms developed
|
|
29
|
+
by Alexander Terekhov and Louis Thomas.
|
|
30
|
+
|
|
31
|
+
The implementation of POSIX mutexes has been improved by Thomas Pfaff
|
|
32
|
+
and later by Alexander Terekhov.
|
|
33
|
+
|
|
34
|
+
The implementation of Spinlocks and Barriers was contributed
|
|
35
|
+
by Ross Johnson.
|
|
36
|
+
|
|
37
|
+
The implementation of read/write locks was contributed by
|
|
38
|
+
Aurelio Medina and improved by Alexander Terekhov.
|
|
39
|
+
|
|
40
|
+
Many others have contributed significant time and effort to solve crutial
|
|
41
|
+
problems in order to make the library workable, robust and reliable.
|
|
42
|
+
|
|
43
|
+
Thanks to Xavier Leroy for granting permission to use and modify his
|
|
44
|
+
LinuxThreads manual pages.
|
|
45
|
+
|
|
46
|
+
Thanks to The Open Group for making the Single Unix Specification
|
|
47
|
+
publicly available - many of the manual pages included in the package
|
|
48
|
+
were extracted from it.
|
|
49
|
+
|
|
50
|
+
There is also a separate CONTRIBUTORS file. This file and others are
|
|
51
|
+
on the web site:
|
|
52
|
+
|
|
53
|
+
http://sources.redhat.com/pthreads-win32
|
|
54
|
+
|
|
55
|
+
As much as possible, the ChangeLog file acknowledges contributions to the
|
|
56
|
+
code base in more detail.
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
Changes since the last release
|
|
60
|
+
------------------------------
|
|
61
|
+
These are now documented in the NEWS file.
|
|
62
|
+
See the ChangeLog file also.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
Known Bugs
|
|
66
|
+
----------
|
|
67
|
+
These are now documented in the BUGS file.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
Level of standards conformance
|
|
71
|
+
------------------------------
|
|
72
|
+
|
|
73
|
+
The following POSIX 1003.1 2001 options are defined and set to 200112L:
|
|
74
|
+
|
|
75
|
+
_POSIX_THREADS
|
|
76
|
+
_POSIX_THREAD_SAFE_FUNCTIONS
|
|
77
|
+
_POSIX_THREAD_ATTR_STACKSIZE
|
|
78
|
+
_POSIX_THREAD_PRIORITY_SCHEDULING
|
|
79
|
+
_POSIX_SEMAPHORES
|
|
80
|
+
_POSIX_READER_WRITER_LOCKS
|
|
81
|
+
_POSIX_SPIN_LOCKS
|
|
82
|
+
_POSIX_BARRIERS
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
The following POSIX 1003.1 2001 options are defined and set to -1:
|
|
86
|
+
|
|
87
|
+
_POSIX_THREAD_ATTR_STACKADDR
|
|
88
|
+
_POSIX_THREAD_PRIO_INHERIT
|
|
89
|
+
_POSIX_THREAD_PRIO_PROTECT
|
|
90
|
+
_POSIX_THREAD_PROCESS_SHARED
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
The following POSIX 1003.1 2001 limits are defined and set:
|
|
94
|
+
|
|
95
|
+
_POSIX_THREAD_THREADS_MAX
|
|
96
|
+
_POSIX_SEM_VALUE_MAX
|
|
97
|
+
_POSIX_SEM_NSEMS_MAX
|
|
98
|
+
_POSIX_THREAD_KEYS_MAX
|
|
99
|
+
_POSIX_THREAD_DESTRUCTOR_ITERATIONS
|
|
100
|
+
PTHREAD_STACK_MIN
|
|
101
|
+
PTHREAD_THREADS_MAX
|
|
102
|
+
SEM_VALUE_MAX
|
|
103
|
+
SEM_NSEMS_MAX
|
|
104
|
+
PTHREAD_KEYS_MAX
|
|
105
|
+
PTHREAD_DESTRUCTOR_ITERATIONS
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
The following functions are implemented:
|
|
109
|
+
|
|
110
|
+
---------------------------
|
|
111
|
+
PThreads
|
|
112
|
+
---------------------------
|
|
113
|
+
pthread_attr_init
|
|
114
|
+
pthread_attr_destroy
|
|
115
|
+
pthread_attr_getdetachstate
|
|
116
|
+
pthread_attr_getstackaddr
|
|
117
|
+
pthread_attr_getstacksize
|
|
118
|
+
pthread_attr_setdetachstate
|
|
119
|
+
pthread_attr_setstackaddr
|
|
120
|
+
pthread_attr_setstacksize
|
|
121
|
+
|
|
122
|
+
pthread_create
|
|
123
|
+
pthread_detach
|
|
124
|
+
pthread_equal
|
|
125
|
+
pthread_exit
|
|
126
|
+
pthread_join
|
|
127
|
+
pthread_once
|
|
128
|
+
pthread_self
|
|
129
|
+
|
|
130
|
+
pthread_cancel
|
|
131
|
+
pthread_cleanup_pop
|
|
132
|
+
pthread_cleanup_push
|
|
133
|
+
pthread_setcancelstate
|
|
134
|
+
pthread_setcanceltype
|
|
135
|
+
pthread_testcancel
|
|
136
|
+
|
|
137
|
+
---------------------------
|
|
138
|
+
Thread Specific Data
|
|
139
|
+
---------------------------
|
|
140
|
+
pthread_key_create
|
|
141
|
+
pthread_key_delete
|
|
142
|
+
pthread_setspecific
|
|
143
|
+
pthread_getspecific
|
|
144
|
+
|
|
145
|
+
---------------------------
|
|
146
|
+
Mutexes
|
|
147
|
+
---------------------------
|
|
148
|
+
pthread_mutexattr_init
|
|
149
|
+
pthread_mutexattr_destroy
|
|
150
|
+
pthread_mutexattr_getpshared
|
|
151
|
+
pthread_mutexattr_setpshared
|
|
152
|
+
pthread_mutexattr_gettype
|
|
153
|
+
pthread_mutexattr_settype (types: PTHREAD_MUTEX_DEFAULT
|
|
154
|
+
PTHREAD_MUTEX_NORMAL
|
|
155
|
+
PTHREAD_MUTEX_ERRORCHECK
|
|
156
|
+
PTHREAD_MUTEX_RECURSIVE )
|
|
157
|
+
pthread_mutexattr_getrobust
|
|
158
|
+
pthread_mutexattr_setrobust (values: PTHREAD_MUTEX_STALLED
|
|
159
|
+
PTHREAD_MUTEX_ROBUST)
|
|
160
|
+
pthread_mutex_init
|
|
161
|
+
pthread_mutex_destroy
|
|
162
|
+
pthread_mutex_lock
|
|
163
|
+
pthread_mutex_trylock
|
|
164
|
+
pthread_mutex_timedlock
|
|
165
|
+
pthread_mutex_unlock
|
|
166
|
+
pthread_mutex_consistent
|
|
167
|
+
|
|
168
|
+
---------------------------
|
|
169
|
+
Condition Variables
|
|
170
|
+
---------------------------
|
|
171
|
+
pthread_condattr_init
|
|
172
|
+
pthread_condattr_destroy
|
|
173
|
+
pthread_condattr_getpshared
|
|
174
|
+
pthread_condattr_setpshared
|
|
175
|
+
|
|
176
|
+
pthread_cond_init
|
|
177
|
+
pthread_cond_destroy
|
|
178
|
+
pthread_cond_wait
|
|
179
|
+
pthread_cond_timedwait
|
|
180
|
+
pthread_cond_signal
|
|
181
|
+
pthread_cond_broadcast
|
|
182
|
+
|
|
183
|
+
---------------------------
|
|
184
|
+
Read/Write Locks
|
|
185
|
+
---------------------------
|
|
186
|
+
pthread_rwlock_init
|
|
187
|
+
pthread_rwlock_destroy
|
|
188
|
+
pthread_rwlock_tryrdlock
|
|
189
|
+
pthread_rwlock_trywrlock
|
|
190
|
+
pthread_rwlock_rdlock
|
|
191
|
+
pthread_rwlock_timedrdlock
|
|
192
|
+
pthread_rwlock_rwlock
|
|
193
|
+
pthread_rwlock_timedwrlock
|
|
194
|
+
pthread_rwlock_unlock
|
|
195
|
+
pthread_rwlockattr_init
|
|
196
|
+
pthread_rwlockattr_destroy
|
|
197
|
+
pthread_rwlockattr_getpshared
|
|
198
|
+
pthread_rwlockattr_setpshared
|
|
199
|
+
|
|
200
|
+
---------------------------
|
|
201
|
+
Spin Locks
|
|
202
|
+
---------------------------
|
|
203
|
+
pthread_spin_init
|
|
204
|
+
pthread_spin_destroy
|
|
205
|
+
pthread_spin_lock
|
|
206
|
+
pthread_spin_unlock
|
|
207
|
+
pthread_spin_trylock
|
|
208
|
+
|
|
209
|
+
---------------------------
|
|
210
|
+
Barriers
|
|
211
|
+
---------------------------
|
|
212
|
+
pthread_barrier_init
|
|
213
|
+
pthread_barrier_destroy
|
|
214
|
+
pthread_barrier_wait
|
|
215
|
+
pthread_barrierattr_init
|
|
216
|
+
pthread_barrierattr_destroy
|
|
217
|
+
pthread_barrierattr_getpshared
|
|
218
|
+
pthread_barrierattr_setpshared
|
|
219
|
+
|
|
220
|
+
---------------------------
|
|
221
|
+
Semaphores
|
|
222
|
+
---------------------------
|
|
223
|
+
sem_init
|
|
224
|
+
sem_destroy
|
|
225
|
+
sem_post
|
|
226
|
+
sem_wait
|
|
227
|
+
sem_trywait
|
|
228
|
+
sem_timedwait
|
|
229
|
+
sem_getvalue (# free if +ve, # of waiters if -ve)
|
|
230
|
+
sem_open (returns an error ENOSYS)
|
|
231
|
+
sem_close (returns an error ENOSYS)
|
|
232
|
+
sem_unlink (returns an error ENOSYS)
|
|
233
|
+
|
|
234
|
+
---------------------------
|
|
235
|
+
RealTime Scheduling
|
|
236
|
+
---------------------------
|
|
237
|
+
pthread_attr_getschedparam
|
|
238
|
+
pthread_attr_setschedparam
|
|
239
|
+
pthread_attr_getinheritsched
|
|
240
|
+
pthread_attr_setinheritsched
|
|
241
|
+
pthread_attr_getschedpolicy (only supports SCHED_OTHER)
|
|
242
|
+
pthread_attr_setschedpolicy (only supports SCHED_OTHER)
|
|
243
|
+
pthread_getschedparam
|
|
244
|
+
pthread_setschedparam
|
|
245
|
+
pthread_getconcurrency
|
|
246
|
+
pthread_setconcurrency
|
|
247
|
+
pthread_attr_getscope
|
|
248
|
+
pthread_attr_setscope (only supports PTHREAD_SCOPE_SYSTEM)
|
|
249
|
+
sched_get_priority_max
|
|
250
|
+
sched_get_priority_min
|
|
251
|
+
sched_rr_get_interval (returns an error ENOTSUP)
|
|
252
|
+
sched_setscheduler (only supports SCHED_OTHER)
|
|
253
|
+
sched_getscheduler (only supports SCHED_OTHER)
|
|
254
|
+
sched_yield
|
|
255
|
+
|
|
256
|
+
---------------------------
|
|
257
|
+
Signals
|
|
258
|
+
---------------------------
|
|
259
|
+
pthread_sigmask
|
|
260
|
+
pthread_kill (only supports zero sig value,
|
|
261
|
+
for thread validity checking)
|
|
262
|
+
|
|
263
|
+
---------------------------
|
|
264
|
+
Non-portable routines (see the README.NONPORTABLE file for usage)
|
|
265
|
+
---------------------------
|
|
266
|
+
pthread_getw32threadhandle_np
|
|
267
|
+
pthread_timechange_handler_np
|
|
268
|
+
pthread_delay_np
|
|
269
|
+
pthread_getunique_np
|
|
270
|
+
pthread_mutexattr_getkind_np
|
|
271
|
+
pthread_mutexattr_setkind_np (types: PTHREAD_MUTEX_FAST_NP,
|
|
272
|
+
PTHREAD_MUTEX_ERRORCHECK_NP,
|
|
273
|
+
PTHREAD_MUTEX_RECURSIVE_NP,
|
|
274
|
+
PTHREAD_MUTEX_ADAPTIVE_NP,
|
|
275
|
+
PTHREAD_MUTEX_TIMED_NP)
|
|
276
|
+
pthread_num_processors_np
|
|
277
|
+
pthread_win32_process_attach_np (Required when statically linking
|
|
278
|
+
the library)
|
|
279
|
+
pthread_win32_process_detach_np (Required when statically linking
|
|
280
|
+
the library)
|
|
281
|
+
pthread_win32_thread_attach_np (Required when statically linking
|
|
282
|
+
the library)
|
|
283
|
+
pthread_win32_thread_detach_np (Required when statically linking
|
|
284
|
+
the library)
|
|
285
|
+
|
|
286
|
+
---------------------------
|
|
287
|
+
Static Initializers
|
|
288
|
+
---------------------------
|
|
289
|
+
PTHREAD_ONCE_INIT
|
|
290
|
+
PTHREAD_MUTEX_INITIALIZER
|
|
291
|
+
PTHREAD_RECURSIVE_MUTEX_INITIALIZER
|
|
292
|
+
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
|
|
293
|
+
PTHREAD_ERRORCHECK_MUTEX_INITIALIZER
|
|
294
|
+
PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
|
|
295
|
+
PTHREAD_COND_INITIALIZER
|
|
296
|
+
PTHREAD_RWLOCK_INITIALIZER
|
|
297
|
+
PTHREAD_SPINLOCK_INITIALIZER
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
The library includes two non-API functions for creating cancellation
|
|
301
|
+
points in applications and libraries:
|
|
302
|
+
|
|
303
|
+
pthreadCancelableWait
|
|
304
|
+
pthreadCancelableTimedWait
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
The following functions are not implemented:
|
|
308
|
+
|
|
309
|
+
---------------------------
|
|
310
|
+
RealTime Scheduling
|
|
311
|
+
---------------------------
|
|
312
|
+
pthread_mutex_getprioceiling
|
|
313
|
+
pthread_mutex_setprioceiling
|
|
314
|
+
pthread_mutex_attr_getprioceiling
|
|
315
|
+
pthread_mutex_attr_getprotocol
|
|
316
|
+
pthread_mutex_attr_setprioceiling
|
|
317
|
+
pthread_mutex_attr_setprotocol
|
|
318
|
+
|
|
319
|
+
---------------------------
|
|
320
|
+
Fork Handlers
|
|
321
|
+
---------------------------
|
|
322
|
+
pthread_atfork
|
|
323
|
+
|
|
324
|
+
---------------------------
|
|
325
|
+
Stdio
|
|
326
|
+
---------------------------
|
|
327
|
+
flockfile
|
|
328
|
+
ftrylockfile
|
|
329
|
+
funlockfile
|
|
330
|
+
getc_unlocked
|
|
331
|
+
getchar_unlocked
|
|
332
|
+
putc_unlocked
|
|
333
|
+
putchar_unlocked
|
|
334
|
+
|
|
335
|
+
---------------------------
|
|
336
|
+
Thread-Safe C Runtime Library
|
|
337
|
+
---------------------------
|
|
338
|
+
readdir_r
|
|
339
|
+
getgrgid_r
|
|
340
|
+
getgrnam_r
|
|
341
|
+
getpwuid_r
|
|
342
|
+
getpwnam_r
|
|
343
|
+
|
|
344
|
+
---------------------------
|
|
345
|
+
Signals
|
|
346
|
+
---------------------------
|
|
347
|
+
sigtimedwait
|
|
348
|
+
sigwait
|
|
349
|
+
sigwaitinfo
|
|
350
|
+
|
|
351
|
+
---------------------------
|
|
352
|
+
General
|
|
353
|
+
---------------------------
|
|
354
|
+
sysconf
|
|
355
|
+
|
|
356
|
+
---------------------------
|
|
357
|
+
Thread-Safe C Runtime Library (macros)
|
|
358
|
+
---------------------------
|
|
359
|
+
strtok_r
|
|
360
|
+
asctime_r
|
|
361
|
+
ctime_r
|
|
362
|
+
gmtime_r
|
|
363
|
+
localtime_r
|
|
364
|
+
rand_r
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
Availability
|
|
368
|
+
------------
|
|
369
|
+
|
|
370
|
+
The prebuilt DLL, export libs (for both MSVC and Mingw32), and the header
|
|
371
|
+
files (pthread.h, semaphore.h, sched.h) are available along with the
|
|
372
|
+
complete source code.
|
|
373
|
+
|
|
374
|
+
The source code can be found at:
|
|
375
|
+
|
|
376
|
+
ftp://sources.redhat.com/pub/pthreads-win32
|
|
377
|
+
|
|
378
|
+
and as individual source code files at
|
|
379
|
+
|
|
380
|
+
ftp://sources.redhat.com/pub/pthreads-win32/source
|
|
381
|
+
|
|
382
|
+
The pre-built DLL, export libraries and include files can be found at:
|
|
383
|
+
|
|
384
|
+
ftp://sources.redhat.com/pub/pthreads-win32/dll-latest
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
Mailing List
|
|
389
|
+
------------
|
|
390
|
+
|
|
391
|
+
There is a mailing list for discussing pthreads on Win32. To join,
|
|
392
|
+
send email to:
|
|
393
|
+
|
|
394
|
+
pthreads-win32-subscribe@sourceware.cygnus.com
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
Application Development Environments
|
|
398
|
+
------------------------------------
|
|
399
|
+
|
|
400
|
+
See the README file for more information.
|
|
401
|
+
|
|
402
|
+
MSVC:
|
|
403
|
+
MSVC using SEH works. Distribute pthreadVSE.dll with your application.
|
|
404
|
+
MSVC using C++ EH works. Distribute pthreadVCE.dll with your application.
|
|
405
|
+
MSVC using C setjmp/longjmp works. Distribute pthreadVC.dll with your application.
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
Mingw32:
|
|
409
|
+
See the FAQ, Questions 6 and 10.
|
|
410
|
+
|
|
411
|
+
Mingw using C++ EH works. Distribute pthreadGCE.dll with your application.
|
|
412
|
+
Mingw using C setjmp/longjmp works. Distribute pthreadGC.dll with your application.
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
Cygwin: (http://sourceware.cygnus.com/cygwin/)
|
|
416
|
+
Developers using Cygwin do not need pthreads-win32 since it has POSIX threads
|
|
417
|
+
support. Refer to its documentation for details and extent.
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
UWIN:
|
|
421
|
+
UWIN is a complete Unix-like environment for Windows from AT&T. Pthreads-win32
|
|
422
|
+
doesn't currently support UWIN (and vice versa), but that may change in the
|
|
423
|
+
future.
|
|
424
|
+
|
|
425
|
+
Generally:
|
|
426
|
+
For convenience, the following pre-built files are available on the FTP site
|
|
427
|
+
(see Availability above):
|
|
428
|
+
|
|
429
|
+
pthread.h - for POSIX threads
|
|
430
|
+
semaphore.h - for POSIX semaphores
|
|
431
|
+
sched.h - for POSIX scheduling
|
|
432
|
+
pthreadVCE.dll - built with MSVC++ compiler using C++ EH
|
|
433
|
+
pthreadVCE.lib
|
|
434
|
+
pthreadVC.dll - built with MSVC compiler using C setjmp/longjmp
|
|
435
|
+
pthreadVC.lib
|
|
436
|
+
pthreadVSE.dll - built with MSVC compiler using SEH
|
|
437
|
+
pthreadVSE.lib
|
|
438
|
+
pthreadGCE.dll - built with Mingw32 G++ 2.95.2-1
|
|
439
|
+
pthreadGC.dll - built with Mingw32 GCC 2.95.2-1 using setjmp/longjmp
|
|
440
|
+
libpthreadGCE.a - derived from pthreadGCE.dll
|
|
441
|
+
libpthreadGC.a - derived from pthreadGC.dll
|
|
442
|
+
gcc.dll - needed if distributing applications that use
|
|
443
|
+
pthreadGCE.dll (but see the FAQ Q 10 for the latest
|
|
444
|
+
related information)
|
|
445
|
+
|
|
446
|
+
These are the only files you need in order to build POSIX threads
|
|
447
|
+
applications for Win32 using either MSVC or Mingw32.
|
|
448
|
+
|
|
449
|
+
See the FAQ file in the source tree for additional information.
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
Documentation
|
|
453
|
+
-------------
|
|
454
|
+
|
|
455
|
+
For the authoritative reference, see the online POSIX
|
|
456
|
+
standard reference at:
|
|
457
|
+
|
|
458
|
+
http://www.OpenGroup.org
|
|
459
|
+
|
|
460
|
+
For POSIX Thread API programming, several reference books are
|
|
461
|
+
available:
|
|
462
|
+
|
|
463
|
+
Programming with POSIX Threads
|
|
464
|
+
David R. Butenhof
|
|
465
|
+
Addison-Wesley (pub)
|
|
466
|
+
|
|
467
|
+
Pthreads Programming
|
|
468
|
+
By Bradford Nichols, Dick Buttlar & Jacqueline Proulx Farrell
|
|
469
|
+
O'Reilly (pub)
|
|
470
|
+
|
|
471
|
+
On the web: see the links at the bottom of the pthreads-win32 site:
|
|
472
|
+
|
|
473
|
+
http://sources.redhat.com/pthreads-win32/
|
|
474
|
+
|
|
475
|
+
Currently, there is no documentation included in the package apart
|
|
476
|
+
from the copious comments in the source code.
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
Enjoy!
|
|
481
|
+
|
|
482
|
+
Ross Johnson
|