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,97 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* pthread_condattr_getpshared.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements condition variables and their primitives.
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* --------------------------------------------------------------------------
|
|
9
|
+
*
|
|
10
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
11
|
+
* Copyright(C) 1998 John E. Bossom
|
|
12
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
13
|
+
*
|
|
14
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
15
|
+
*
|
|
16
|
+
* The current list of contributors is contained
|
|
17
|
+
* in the file CONTRIBUTORS included with the source
|
|
18
|
+
* code distribution. The list can also be seen at the
|
|
19
|
+
* following World Wide Web location:
|
|
20
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
21
|
+
*
|
|
22
|
+
* This library is free software; you can redistribute it and/or
|
|
23
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
24
|
+
* License as published by the Free Software Foundation; either
|
|
25
|
+
* version 2 of the License, or (at your option) any later version.
|
|
26
|
+
*
|
|
27
|
+
* This library is distributed in the hope that it will be useful,
|
|
28
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
29
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
30
|
+
* Lesser General Public License for more details.
|
|
31
|
+
*
|
|
32
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
33
|
+
* License along with this library in the file COPYING.LIB;
|
|
34
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
35
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#include "pthread.h"
|
|
39
|
+
#include "implement.h"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
int
|
|
43
|
+
pthread_condattr_getpshared (const pthread_condattr_t * attr, int *pshared)
|
|
44
|
+
/*
|
|
45
|
+
* ------------------------------------------------------
|
|
46
|
+
* DOCPUBLIC
|
|
47
|
+
* Determine whether condition variables created with 'attr'
|
|
48
|
+
* can be shared between processes.
|
|
49
|
+
*
|
|
50
|
+
* PARAMETERS
|
|
51
|
+
* attr
|
|
52
|
+
* pointer to an instance of pthread_condattr_t
|
|
53
|
+
*
|
|
54
|
+
* pshared
|
|
55
|
+
* will be set to one of:
|
|
56
|
+
*
|
|
57
|
+
* PTHREAD_PROCESS_SHARED
|
|
58
|
+
* May be shared if in shared memory
|
|
59
|
+
*
|
|
60
|
+
* PTHREAD_PROCESS_PRIVATE
|
|
61
|
+
* Cannot be shared.
|
|
62
|
+
*
|
|
63
|
+
*
|
|
64
|
+
* DESCRIPTION
|
|
65
|
+
* Condition Variables created with 'attr' can be shared
|
|
66
|
+
* between processes if pthread_cond_t variable is allocated
|
|
67
|
+
* in memory shared by these processes.
|
|
68
|
+
* NOTES:
|
|
69
|
+
* 1) pshared condition variables MUST be allocated in
|
|
70
|
+
* shared memory.
|
|
71
|
+
*
|
|
72
|
+
* 2) The following macro is defined if shared mutexes
|
|
73
|
+
* are supported:
|
|
74
|
+
* _POSIX_THREAD_PROCESS_SHARED
|
|
75
|
+
*
|
|
76
|
+
* RESULTS
|
|
77
|
+
* 0 successfully retrieved attribute,
|
|
78
|
+
* EINVAL 'attr' or 'pshared' is invalid,
|
|
79
|
+
*
|
|
80
|
+
* ------------------------------------------------------
|
|
81
|
+
*/
|
|
82
|
+
{
|
|
83
|
+
int result;
|
|
84
|
+
|
|
85
|
+
if ((attr != NULL && *attr != NULL) && (pshared != NULL))
|
|
86
|
+
{
|
|
87
|
+
*pshared = (*attr)->pshared;
|
|
88
|
+
result = 0;
|
|
89
|
+
}
|
|
90
|
+
else
|
|
91
|
+
{
|
|
92
|
+
result = EINVAL;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return result;
|
|
96
|
+
|
|
97
|
+
} /* pthread_condattr_getpshared */
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* pthread_condattr_init.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements condition variables and their primitives.
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* --------------------------------------------------------------------------
|
|
9
|
+
*
|
|
10
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
11
|
+
* Copyright(C) 1998 John E. Bossom
|
|
12
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
13
|
+
*
|
|
14
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
15
|
+
*
|
|
16
|
+
* The current list of contributors is contained
|
|
17
|
+
* in the file CONTRIBUTORS included with the source
|
|
18
|
+
* code distribution. The list can also be seen at the
|
|
19
|
+
* following World Wide Web location:
|
|
20
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
21
|
+
*
|
|
22
|
+
* This library is free software; you can redistribute it and/or
|
|
23
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
24
|
+
* License as published by the Free Software Foundation; either
|
|
25
|
+
* version 2 of the License, or (at your option) any later version.
|
|
26
|
+
*
|
|
27
|
+
* This library is distributed in the hope that it will be useful,
|
|
28
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
29
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
30
|
+
* Lesser General Public License for more details.
|
|
31
|
+
*
|
|
32
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
33
|
+
* License along with this library in the file COPYING.LIB;
|
|
34
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
35
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#include "pthread.h"
|
|
39
|
+
#include "implement.h"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
int
|
|
43
|
+
pthread_condattr_init (pthread_condattr_t * attr)
|
|
44
|
+
/*
|
|
45
|
+
* ------------------------------------------------------
|
|
46
|
+
* DOCPUBLIC
|
|
47
|
+
* Initializes a condition variable attributes object
|
|
48
|
+
* with default attributes.
|
|
49
|
+
*
|
|
50
|
+
* PARAMETERS
|
|
51
|
+
* attr
|
|
52
|
+
* pointer to an instance of pthread_condattr_t
|
|
53
|
+
*
|
|
54
|
+
*
|
|
55
|
+
* DESCRIPTION
|
|
56
|
+
* Initializes a condition variable attributes object
|
|
57
|
+
* with default attributes.
|
|
58
|
+
*
|
|
59
|
+
* NOTES:
|
|
60
|
+
* 1) Use to define condition variable types
|
|
61
|
+
* 2) It is up to the application to ensure
|
|
62
|
+
* that it doesn't re-init an attribute
|
|
63
|
+
* without destroying it first. Otherwise
|
|
64
|
+
* a memory leak is created.
|
|
65
|
+
*
|
|
66
|
+
* RESULTS
|
|
67
|
+
* 0 successfully initialized attr,
|
|
68
|
+
* ENOMEM insufficient memory for attr.
|
|
69
|
+
*
|
|
70
|
+
* ------------------------------------------------------
|
|
71
|
+
*/
|
|
72
|
+
{
|
|
73
|
+
pthread_condattr_t attr_result;
|
|
74
|
+
int result = 0;
|
|
75
|
+
|
|
76
|
+
attr_result = (pthread_condattr_t) calloc (1, sizeof (*attr_result));
|
|
77
|
+
|
|
78
|
+
if (attr_result == NULL)
|
|
79
|
+
{
|
|
80
|
+
result = ENOMEM;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
*attr = attr_result;
|
|
84
|
+
|
|
85
|
+
return result;
|
|
86
|
+
|
|
87
|
+
} /* pthread_condattr_init */
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* pthread_condattr_setpshared.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements condition variables and their primitives.
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* --------------------------------------------------------------------------
|
|
9
|
+
*
|
|
10
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
11
|
+
* Copyright(C) 1998 John E. Bossom
|
|
12
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
13
|
+
*
|
|
14
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
15
|
+
*
|
|
16
|
+
* The current list of contributors is contained
|
|
17
|
+
* in the file CONTRIBUTORS included with the source
|
|
18
|
+
* code distribution. The list can also be seen at the
|
|
19
|
+
* following World Wide Web location:
|
|
20
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
21
|
+
*
|
|
22
|
+
* This library is free software; you can redistribute it and/or
|
|
23
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
24
|
+
* License as published by the Free Software Foundation; either
|
|
25
|
+
* version 2 of the License, or (at your option) any later version.
|
|
26
|
+
*
|
|
27
|
+
* This library is distributed in the hope that it will be useful,
|
|
28
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
29
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
30
|
+
* Lesser General Public License for more details.
|
|
31
|
+
*
|
|
32
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
33
|
+
* License along with this library in the file COPYING.LIB;
|
|
34
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
35
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#include "pthread.h"
|
|
39
|
+
#include "implement.h"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
int
|
|
43
|
+
pthread_condattr_setpshared (pthread_condattr_t * attr, int pshared)
|
|
44
|
+
/*
|
|
45
|
+
* ------------------------------------------------------
|
|
46
|
+
* DOCPUBLIC
|
|
47
|
+
* Mutexes created with 'attr' can be shared between
|
|
48
|
+
* processes if pthread_mutex_t variable is allocated
|
|
49
|
+
* in memory shared by these processes.
|
|
50
|
+
*
|
|
51
|
+
* PARAMETERS
|
|
52
|
+
* attr
|
|
53
|
+
* pointer to an instance of pthread_mutexattr_t
|
|
54
|
+
*
|
|
55
|
+
* pshared
|
|
56
|
+
* must be one of:
|
|
57
|
+
*
|
|
58
|
+
* PTHREAD_PROCESS_SHARED
|
|
59
|
+
* May be shared if in shared memory
|
|
60
|
+
*
|
|
61
|
+
* PTHREAD_PROCESS_PRIVATE
|
|
62
|
+
* Cannot be shared.
|
|
63
|
+
*
|
|
64
|
+
* DESCRIPTION
|
|
65
|
+
* Mutexes creatd with 'attr' can be shared between
|
|
66
|
+
* processes if pthread_mutex_t variable is allocated
|
|
67
|
+
* in memory shared by these processes.
|
|
68
|
+
*
|
|
69
|
+
* NOTES:
|
|
70
|
+
* 1) pshared mutexes MUST be allocated in shared
|
|
71
|
+
* memory.
|
|
72
|
+
*
|
|
73
|
+
* 2) The following macro is defined if shared mutexes
|
|
74
|
+
* are supported:
|
|
75
|
+
* _POSIX_THREAD_PROCESS_SHARED
|
|
76
|
+
*
|
|
77
|
+
* RESULTS
|
|
78
|
+
* 0 successfully set attribute,
|
|
79
|
+
* EINVAL 'attr' or pshared is invalid,
|
|
80
|
+
* ENOSYS PTHREAD_PROCESS_SHARED not supported,
|
|
81
|
+
*
|
|
82
|
+
* ------------------------------------------------------
|
|
83
|
+
*/
|
|
84
|
+
{
|
|
85
|
+
int result;
|
|
86
|
+
|
|
87
|
+
if ((attr != NULL && *attr != NULL)
|
|
88
|
+
&& ((pshared == PTHREAD_PROCESS_SHARED)
|
|
89
|
+
|| (pshared == PTHREAD_PROCESS_PRIVATE)))
|
|
90
|
+
{
|
|
91
|
+
if (pshared == PTHREAD_PROCESS_SHARED)
|
|
92
|
+
{
|
|
93
|
+
|
|
94
|
+
#if !defined( _POSIX_THREAD_PROCESS_SHARED )
|
|
95
|
+
result = ENOSYS;
|
|
96
|
+
pshared = PTHREAD_PROCESS_PRIVATE;
|
|
97
|
+
#else
|
|
98
|
+
result = 0;
|
|
99
|
+
|
|
100
|
+
#endif /* _POSIX_THREAD_PROCESS_SHARED */
|
|
101
|
+
|
|
102
|
+
}
|
|
103
|
+
else
|
|
104
|
+
{
|
|
105
|
+
result = 0;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
(*attr)->pshared = pshared;
|
|
109
|
+
}
|
|
110
|
+
else
|
|
111
|
+
{
|
|
112
|
+
result = EINVAL;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return result;
|
|
116
|
+
|
|
117
|
+
} /* pthread_condattr_setpshared */
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* pthreads_delay_np.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements non-portable thread functions.
|
|
6
|
+
*
|
|
7
|
+
* --------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
10
|
+
* Copyright(C) 1998 John E. Bossom
|
|
11
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
12
|
+
*
|
|
13
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
14
|
+
*
|
|
15
|
+
* The current list of contributors is contained
|
|
16
|
+
* in the file CONTRIBUTORS included with the source
|
|
17
|
+
* code distribution. The list can also be seen at the
|
|
18
|
+
* following World Wide Web location:
|
|
19
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
20
|
+
*
|
|
21
|
+
* This library is free software; you can redistribute it and/or
|
|
22
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
23
|
+
* License as published by the Free Software Foundation; either
|
|
24
|
+
* version 2 of the License, or (at your option) any later version.
|
|
25
|
+
*
|
|
26
|
+
* This library is distributed in the hope that it will be useful,
|
|
27
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
28
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
29
|
+
* Lesser General Public License for more details.
|
|
30
|
+
*
|
|
31
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
32
|
+
* License along with this library in the file COPYING.LIB;
|
|
33
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
34
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
#include "pthread.h"
|
|
38
|
+
#include "implement.h"
|
|
39
|
+
|
|
40
|
+
/*
|
|
41
|
+
* pthread_delay_np
|
|
42
|
+
*
|
|
43
|
+
* DESCRIPTION
|
|
44
|
+
*
|
|
45
|
+
* This routine causes a thread to delay execution for a specific period of time.
|
|
46
|
+
* This period ends at the current time plus the specified interval. The routine
|
|
47
|
+
* will not return before the end of the period is reached, but may return an
|
|
48
|
+
* arbitrary amount of time after the period has gone by. This can be due to
|
|
49
|
+
* system load, thread priorities, and system timer granularity.
|
|
50
|
+
*
|
|
51
|
+
* Specifying an interval of zero (0) seconds and zero (0) nanoseconds is
|
|
52
|
+
* allowed and can be used to force the thread to give up the processor or to
|
|
53
|
+
* deliver a pending cancelation request.
|
|
54
|
+
*
|
|
55
|
+
* The timespec structure contains the following two fields:
|
|
56
|
+
*
|
|
57
|
+
* tv_sec is an integer number of seconds.
|
|
58
|
+
* tv_nsec is an integer number of nanoseconds.
|
|
59
|
+
*
|
|
60
|
+
* Return Values
|
|
61
|
+
*
|
|
62
|
+
* If an error condition occurs, this routine returns an integer value indicating
|
|
63
|
+
* the type of error. Possible return values are as follows:
|
|
64
|
+
*
|
|
65
|
+
* 0
|
|
66
|
+
* Successful completion.
|
|
67
|
+
* [EINVAL]
|
|
68
|
+
* The value specified by interval is invalid.
|
|
69
|
+
*
|
|
70
|
+
* Example
|
|
71
|
+
*
|
|
72
|
+
* The following code segment would wait for 5 and 1/2 seconds
|
|
73
|
+
*
|
|
74
|
+
* struct timespec tsWait;
|
|
75
|
+
* int intRC;
|
|
76
|
+
*
|
|
77
|
+
* tsWait.tv_sec = 5;
|
|
78
|
+
* tsWait.tv_nsec = 500000000L;
|
|
79
|
+
* intRC = pthread_delay_np(&tsWait);
|
|
80
|
+
*/
|
|
81
|
+
int
|
|
82
|
+
pthread_delay_np (struct timespec *interval)
|
|
83
|
+
{
|
|
84
|
+
DWORD wait_time;
|
|
85
|
+
DWORD secs_in_millisecs;
|
|
86
|
+
DWORD millisecs;
|
|
87
|
+
DWORD status;
|
|
88
|
+
pthread_t self;
|
|
89
|
+
ptw32_thread_t * sp;
|
|
90
|
+
|
|
91
|
+
if (interval == NULL)
|
|
92
|
+
{
|
|
93
|
+
return EINVAL;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (interval->tv_sec == 0L && interval->tv_nsec == 0L)
|
|
97
|
+
{
|
|
98
|
+
pthread_testcancel ();
|
|
99
|
+
Sleep (0);
|
|
100
|
+
pthread_testcancel ();
|
|
101
|
+
return (0);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* convert secs to millisecs */
|
|
105
|
+
secs_in_millisecs = (DWORD)interval->tv_sec * 1000L;
|
|
106
|
+
|
|
107
|
+
/* convert nanosecs to millisecs (rounding up) */
|
|
108
|
+
millisecs = (interval->tv_nsec + 999999L) / 1000000L;
|
|
109
|
+
|
|
110
|
+
#if defined(__WATCOMC__)
|
|
111
|
+
#pragma disable_message (124)
|
|
112
|
+
#endif
|
|
113
|
+
|
|
114
|
+
/*
|
|
115
|
+
* Most compilers will issue a warning 'comparison always 0'
|
|
116
|
+
* because the variable type is unsigned, but we need to keep this
|
|
117
|
+
* for some reason I can't recall now.
|
|
118
|
+
*/
|
|
119
|
+
if (0 > (wait_time = secs_in_millisecs + millisecs))
|
|
120
|
+
{
|
|
121
|
+
return EINVAL;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
#if defined(__WATCOMC__)
|
|
125
|
+
#pragma enable_message (124)
|
|
126
|
+
#endif
|
|
127
|
+
|
|
128
|
+
if (NULL == (self = pthread_self ()).p)
|
|
129
|
+
{
|
|
130
|
+
return ENOMEM;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
sp = (ptw32_thread_t *) self.p;
|
|
134
|
+
|
|
135
|
+
if (sp->cancelState == PTHREAD_CANCEL_ENABLE)
|
|
136
|
+
{
|
|
137
|
+
/*
|
|
138
|
+
* Async cancelation won't catch us until wait_time is up.
|
|
139
|
+
* Deferred cancelation will cancel us immediately.
|
|
140
|
+
*/
|
|
141
|
+
if (WAIT_OBJECT_0 ==
|
|
142
|
+
(status = WaitForSingleObject (sp->cancelEvent, wait_time)))
|
|
143
|
+
{
|
|
144
|
+
ptw32_mcs_local_node_t stateLock;
|
|
145
|
+
/*
|
|
146
|
+
* Canceling!
|
|
147
|
+
*/
|
|
148
|
+
ptw32_mcs_lock_acquire (&sp->stateLock, &stateLock);
|
|
149
|
+
if (sp->state < PThreadStateCanceling)
|
|
150
|
+
{
|
|
151
|
+
sp->state = PThreadStateCanceling;
|
|
152
|
+
sp->cancelState = PTHREAD_CANCEL_DISABLE;
|
|
153
|
+
ptw32_mcs_lock_release (&stateLock);
|
|
154
|
+
|
|
155
|
+
ptw32_throw (PTW32_EPS_CANCEL);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
ptw32_mcs_lock_release (&stateLock);
|
|
159
|
+
return ESRCH;
|
|
160
|
+
}
|
|
161
|
+
else if (status != WAIT_TIMEOUT)
|
|
162
|
+
{
|
|
163
|
+
return EINVAL;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
else
|
|
167
|
+
{
|
|
168
|
+
Sleep (wait_time);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return (0);
|
|
172
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* pthread_detach.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements functions related to thread
|
|
6
|
+
* synchronisation.
|
|
7
|
+
*
|
|
8
|
+
* --------------------------------------------------------------------------
|
|
9
|
+
*
|
|
10
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
11
|
+
* Copyright(C) 1998 John E. Bossom
|
|
12
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
13
|
+
*
|
|
14
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
15
|
+
*
|
|
16
|
+
* The current list of contributors is contained
|
|
17
|
+
* in the file CONTRIBUTORS included with the source
|
|
18
|
+
* code distribution. The list can also be seen at the
|
|
19
|
+
* following World Wide Web location:
|
|
20
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
21
|
+
*
|
|
22
|
+
* This library is free software; you can redistribute it and/or
|
|
23
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
24
|
+
* License as published by the Free Software Foundation; either
|
|
25
|
+
* version 2 of the License, or (at your option) any later version.
|
|
26
|
+
*
|
|
27
|
+
* This library is distributed in the hope that it will be useful,
|
|
28
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
29
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
30
|
+
* Lesser General Public License for more details.
|
|
31
|
+
*
|
|
32
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
33
|
+
* License along with this library in the file COPYING.LIB;
|
|
34
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
35
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#include "pthread.h"
|
|
39
|
+
#include "implement.h"
|
|
40
|
+
|
|
41
|
+
/*
|
|
42
|
+
* Not needed yet, but defining it should indicate clashes with build target
|
|
43
|
+
* environment that should be fixed.
|
|
44
|
+
*/
|
|
45
|
+
#if !defined(WINCE)
|
|
46
|
+
# include <signal.h>
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
int
|
|
51
|
+
pthread_detach (pthread_t thread)
|
|
52
|
+
/*
|
|
53
|
+
* ------------------------------------------------------
|
|
54
|
+
* DOCPUBLIC
|
|
55
|
+
* This function detaches the given thread.
|
|
56
|
+
*
|
|
57
|
+
* PARAMETERS
|
|
58
|
+
* thread
|
|
59
|
+
* an instance of a pthread_t
|
|
60
|
+
*
|
|
61
|
+
*
|
|
62
|
+
* DESCRIPTION
|
|
63
|
+
* This function detaches the given thread. You may use it to
|
|
64
|
+
* detach the main thread or to detach a joinable thread.
|
|
65
|
+
* NOTE: detached threads cannot be joined;
|
|
66
|
+
* storage is freed immediately on termination.
|
|
67
|
+
*
|
|
68
|
+
* RESULTS
|
|
69
|
+
* 0 successfully detached the thread,
|
|
70
|
+
* EINVAL thread is not a joinable thread,
|
|
71
|
+
* ENOSPC a required resource has been exhausted,
|
|
72
|
+
* ESRCH no thread could be found for 'thread',
|
|
73
|
+
*
|
|
74
|
+
* ------------------------------------------------------
|
|
75
|
+
*/
|
|
76
|
+
{
|
|
77
|
+
int result;
|
|
78
|
+
BOOL destroyIt = PTW32_FALSE;
|
|
79
|
+
ptw32_thread_t * tp = (ptw32_thread_t *) thread.p;
|
|
80
|
+
ptw32_mcs_local_node_t node;
|
|
81
|
+
|
|
82
|
+
ptw32_mcs_lock_acquire(&ptw32_thread_reuse_lock, &node);
|
|
83
|
+
|
|
84
|
+
if (NULL == tp
|
|
85
|
+
|| thread.x != tp->ptHandle.x)
|
|
86
|
+
{
|
|
87
|
+
result = ESRCH;
|
|
88
|
+
}
|
|
89
|
+
else if (PTHREAD_CREATE_DETACHED == tp->detachState)
|
|
90
|
+
{
|
|
91
|
+
result = EINVAL;
|
|
92
|
+
}
|
|
93
|
+
else
|
|
94
|
+
{
|
|
95
|
+
ptw32_mcs_local_node_t stateLock;
|
|
96
|
+
/*
|
|
97
|
+
* Joinable ptw32_thread_t structs are not scavenged until
|
|
98
|
+
* a join or detach is done. The thread may have exited already,
|
|
99
|
+
* but all of the state and locks etc are still there.
|
|
100
|
+
*/
|
|
101
|
+
result = 0;
|
|
102
|
+
|
|
103
|
+
ptw32_mcs_lock_acquire (&tp->stateLock, &stateLock);
|
|
104
|
+
if (tp->state != PThreadStateLast)
|
|
105
|
+
{
|
|
106
|
+
tp->detachState = PTHREAD_CREATE_DETACHED;
|
|
107
|
+
}
|
|
108
|
+
else if (tp->detachState != PTHREAD_CREATE_DETACHED)
|
|
109
|
+
{
|
|
110
|
+
/*
|
|
111
|
+
* Thread is joinable and has exited or is exiting.
|
|
112
|
+
*/
|
|
113
|
+
destroyIt = PTW32_TRUE;
|
|
114
|
+
}
|
|
115
|
+
ptw32_mcs_lock_release (&stateLock);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
ptw32_mcs_lock_release(&node);
|
|
119
|
+
|
|
120
|
+
if (result == 0)
|
|
121
|
+
{
|
|
122
|
+
/* Thread is joinable */
|
|
123
|
+
|
|
124
|
+
if (destroyIt)
|
|
125
|
+
{
|
|
126
|
+
/* The thread has exited or is exiting but has not been joined or
|
|
127
|
+
* detached. Need to wait in case it's still exiting.
|
|
128
|
+
*/
|
|
129
|
+
(void) WaitForSingleObject(tp->threadH, INFINITE);
|
|
130
|
+
ptw32_threadDestroy (thread);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return (result);
|
|
135
|
+
|
|
136
|
+
} /* pthread_detach */
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* pthread_equal.c
|
|
3
|
+
*
|
|
4
|
+
* Description:
|
|
5
|
+
* This translation unit implements miscellaneous thread functions.
|
|
6
|
+
*
|
|
7
|
+
* --------------------------------------------------------------------------
|
|
8
|
+
*
|
|
9
|
+
* Pthreads-win32 - POSIX Threads Library for Win32
|
|
10
|
+
* Copyright(C) 1998 John E. Bossom
|
|
11
|
+
* Copyright(C) 1999,2005 Pthreads-win32 contributors
|
|
12
|
+
*
|
|
13
|
+
* Contact Email: rpj@callisto.canberra.edu.au
|
|
14
|
+
*
|
|
15
|
+
* The current list of contributors is contained
|
|
16
|
+
* in the file CONTRIBUTORS included with the source
|
|
17
|
+
* code distribution. The list can also be seen at the
|
|
18
|
+
* following World Wide Web location:
|
|
19
|
+
* http://sources.redhat.com/pthreads-win32/contributors.html
|
|
20
|
+
*
|
|
21
|
+
* This library is free software; you can redistribute it and/or
|
|
22
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
23
|
+
* License as published by the Free Software Foundation; either
|
|
24
|
+
* version 2 of the License, or (at your option) any later version.
|
|
25
|
+
*
|
|
26
|
+
* This library is distributed in the hope that it will be useful,
|
|
27
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
28
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
29
|
+
* Lesser General Public License for more details.
|
|
30
|
+
*
|
|
31
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
32
|
+
* License along with this library in the file COPYING.LIB;
|
|
33
|
+
* if not, write to the Free Software Foundation, Inc.,
|
|
34
|
+
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
#include "pthread.h"
|
|
38
|
+
#include "implement.h"
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
int
|
|
42
|
+
pthread_equal (pthread_t t1, pthread_t t2)
|
|
43
|
+
/*
|
|
44
|
+
* ------------------------------------------------------
|
|
45
|
+
* DOCPUBLIC
|
|
46
|
+
* This function returns nonzero if t1 and t2 are equal, else
|
|
47
|
+
* returns zero
|
|
48
|
+
*
|
|
49
|
+
* PARAMETERS
|
|
50
|
+
* t1,
|
|
51
|
+
* t2
|
|
52
|
+
* thread IDs
|
|
53
|
+
*
|
|
54
|
+
*
|
|
55
|
+
* DESCRIPTION
|
|
56
|
+
* This function returns nonzero if t1 and t2 are equal, else
|
|
57
|
+
* returns zero.
|
|
58
|
+
*
|
|
59
|
+
* RESULTS
|
|
60
|
+
* non-zero if t1 and t2 refer to the same thread,
|
|
61
|
+
* 0 t1 and t2 do not refer to the same thread
|
|
62
|
+
*
|
|
63
|
+
* ------------------------------------------------------
|
|
64
|
+
*/
|
|
65
|
+
{
|
|
66
|
+
int result;
|
|
67
|
+
|
|
68
|
+
/*
|
|
69
|
+
* We also accept NULL == NULL - treating NULL as a thread
|
|
70
|
+
* for this special case, because there is no error that we can return.
|
|
71
|
+
*/
|
|
72
|
+
result = ( t1.p == t2.p && t1.x == t2.x );
|
|
73
|
+
|
|
74
|
+
return (result);
|
|
75
|
+
|
|
76
|
+
} /* pthread_equal */
|