目录
#x27; | \ xargs ctags --c-kinds=defglmpstuvx -o - | grep '^_' | \ cut -f 1 | sort| uniq (GNU ctags was required.) ===== #!/usr/bin/perl -w -n use strict; BEGIN { print "#!/usr/bin/perl -w -i -p\n\n"; } chomp; next if (/^__func__/ or /^_FILE_OFFSET_BITS/ or /^_FORTIFY_SOURCE/ or /^_GNU_SOURCE/ or /^_WIN32/ or /^_DARWIN_UNLIMITED/ or /^_FILE_OFFSET_BITS/ or /^_LARGEFILE64_SOURCE/ or /^_LFS64_LARGEFILE/ or /^__cdecl/ or /^__attribute__/ or /^__func__/ or /^_SYS_TREE_H_/); my $ident = $_; my $better = $ident; $better =~ s/^_//; if ($ident !~ /EVENT_LOG_/) { $better = "${better}_"; } print "s/(?<![A-Za-z0-9_])$ident(?![A-Za-z0-9_])/$better/g;\n"; === And then running the script below that it generated over all === the .c and .h files again #!/usr/bin/perl -w -i -p s/(?<![A-Za-z0-9_])_ARC4_LOCK(?![A-Za-z0-9_])/ARC4_LOCK_/g; s/(?<![A-Za-z0-9_])_ARC4_UNLOCK(?![A-Za-z0-9_])/ARC4_UNLOCK_/g; s/(?<![A-Za-z0-9_])_bev_group_random_element(?![A-Za-z0-9_])/bev_group_random_element_/g; s/(?<![A-Za-z0-9_])_bev_group_refill_callback(?![A-Za-z0-9_])/bev_group_refill_callback_/g; s/(?<![A-Za-z0-9_])_bev_group_suspend_reading(?![A-Za-z0-9_])/bev_group_suspend_reading_/g; s/(?<![A-Za-z0-9_])_bev_group_suspend_writing(?![A-Za-z0-9_])/bev_group_suspend_writing_/g; s/(?<![A-Za-z0-9_])_bev_group_unsuspend_reading(?![A-Za-z0-9_])/bev_group_unsuspend_reading_/g; s/(?<![A-Za-z0-9_])_bev_group_unsuspend_writing(?![A-Za-z0-9_])/bev_group_unsuspend_writing_/g; s/(?<![A-Za-z0-9_])_bev_refill_callback(?![A-Za-z0-9_])/bev_refill_callback_/g; s/(?<![A-Za-z0-9_])_bufferevent_add_event(?![A-Za-z0-9_])/bufferevent_add_event_/g; s/(?<![A-Za-z0-9_])_bufferevent_cancel_all(?![A-Za-z0-9_])/bufferevent_cancel_all_/g; s/(?<![A-Za-z0-9_])_bufferevent_decref_and_unlock(?![A-Za-z0-9_])/bufferevent_decref_and_unlock_/g; s/(?<![A-Za-z0-9_])_bufferevent_decrement_read_buckets(?![A-Za-z0-9_])/bufferevent_decrement_read_buckets_/g; s/(?<![A-Za-z0-9_])_bufferevent_decrement_write_buckets(?![A-Za-z0-9_])/bufferevent_decrement_write_buckets_/g; s/(?<![A-Za-z0-9_])_bufferevent_del_generic_timeout_cbs(?![A-Za-z0-9_])/bufferevent_del_generic_timeout_cbs_/g; s/(?<![A-Za-z0-9_])_bufferevent_generic_adj_timeouts(?![A-Za-z0-9_])/bufferevent_generic_adj_timeouts_/g; s/(?<![A-Za-z0-9_])_bufferevent_get_read_max(?![A-Za-z0-9_])/bufferevent_get_read_max_/g; s/(?<![A-Za-z0-9_])_bufferevent_get_rlim_max(?![A-Za-z0-9_])/bufferevent_get_rlim_max_/g; s/(?<![A-Za-z0-9_])_bufferevent_get_write_max(?![A-Za-z0-9_])/bufferevent_get_write_max_/g; s/(?<![A-Za-z0-9_])_bufferevent_incref_and_lock(?![A-Za-z0-9_])/bufferevent_incref_and_lock_/g; s/(?<![A-Za-z0-9_])_bufferevent_init_generic_timeout_cbs(?![A-Za-z0-9_])/bufferevent_init_generic_timeout_cbs_/g; s/(?<![A-Za-z0-9_])_bufferevent_ratelim_init(?![A-Za-z0-9_])/bufferevent_ratelim_init_/g; s/(?<![A-Za-z0-9_])_bufferevent_run_eventcb(?![A-Za-z0-9_])/bufferevent_run_eventcb_/g; s/(?<![A-Za-z0-9_])_bufferevent_run_readcb(?![A-Za-z0-9_])/bufferevent_run_readcb_/g; s/(?<![A-Za-z0-9_])_bufferevent_run_writecb(?![A-Za-z0-9_])/bufferevent_run_writecb_/g; s/(?<![A-Za-z0-9_])_ev(?![A-Za-z0-9_])/ev_/g; s/(?<![A-Za-z0-9_])_evbuffer_chain_pin(?![A-Za-z0-9_])/evbuffer_chain_pin_/g; s/(?<![A-Za-z0-9_])_evbuffer_chain_unpin(?![A-Za-z0-9_])/evbuffer_chain_unpin_/g; s/(?<![A-Za-z0-9_])_evbuffer_decref_and_unlock(?![A-Za-z0-9_])/evbuffer_decref_and_unlock_/g; s/(?<![A-Za-z0-9_])_evbuffer_expand_fast(?![A-Za-z0-9_])/evbuffer_expand_fast_/g; s/(?<![A-Za-z0-9_])_evbuffer_incref(?![A-Za-z0-9_])/evbuffer_incref_/g; s/(?<![A-Za-z0-9_])_evbuffer_incref_and_lock(?![A-Za-z0-9_])/evbuffer_incref_and_lock_/g; s/(?<![A-Za-z0-9_])_EVBUFFER_IOVEC_IS_NATIVE(?![A-Za-z0-9_])/EVBUFFER_IOVEC_IS_NATIVE_/g; s/(?<![A-Za-z0-9_])_evbuffer_overlapped_get_fd(?![A-Za-z0-9_])/evbuffer_overlapped_get_fd_/g; s/(?<![A-Za-z0-9_])_evbuffer_overlapped_set_fd(?![A-Za-z0-9_])/evbuffer_overlapped_set_fd_/g; s/(?<![A-Za-z0-9_])_evbuffer_read_setup_vecs(?![A-Za-z0-9_])/evbuffer_read_setup_vecs_/g; s/(?<![A-Za-z0-9_])_evbuffer_validate(?![A-Za-z0-9_])/evbuffer_validate_/g; s/(?<![A-Za-z0-9_])_evdns_log(?![A-Za-z0-9_])/evdns_log_/g; s/(?<![A-Za-z0-9_])_evdns_nameserver_add_impl(?![A-Za-z0-9_])/evdns_nameserver_add_impl_/g; s/(?<![A-Za-z0-9_])_EVENT_CONFIG_H_(?![A-Za-z0-9_])/EVENT_CONFIG_H__/g; s/(?<![A-Za-z0-9_])_event_debug_assert_is_setup(?![A-Za-z0-9_])/event_debug_assert_is_setup_/g; s/(?<![A-Za-z0-9_])_event_debug_assert_not_added(?![A-Za-z0-9_])/event_debug_assert_not_added_/g; s/(?<![A-Za-z0-9_])_event_debug_get_logging_mask(?![A-Za-z0-9_])/event_debug_get_logging_mask_/g; s/(?<![A-Za-z0-9_])_event_debug_logging_mask(?![A-Za-z0-9_])/event_debug_logging_mask_/g; s/(?<![A-Za-z0-9_])_event_debug_map_lock(?![A-Za-z0-9_])/event_debug_map_lock_/g; s/(?<![A-Za-z0-9_])_event_debug_mode_on(?![A-Za-z0-9_])/event_debug_mode_on_/g; s/(?<![A-Za-z0-9_])_event_debug_note_add(?![A-Za-z0-9_])/event_debug_note_add_/g; s/(?<![A-Za-z0-9_])_event_debug_note_del(?![A-Za-z0-9_])/event_debug_note_del_/g; s/(?<![A-Za-z0-9_])_event_debug_note_setup(?![A-Za-z0-9_])/event_debug_note_setup_/g; s/(?<![A-Za-z0-9_])_event_debug_note_teardown(?![A-Za-z0-9_])/event_debug_note_teardown_/g; s/(?<![A-Za-z0-9_])_event_debugx(?![A-Za-z0-9_])/event_debugx_/g; s/(?<![A-Za-z0-9_])_EVENT_DEFINED_LISTENTRY(?![A-Za-z0-9_])/EVENT_DEFINED_LISTENTRY_/g; s/(?<![A-Za-z0-9_])_EVENT_DEFINED_TQENTRY(?![A-Za-z0-9_])/EVENT_DEFINED_TQENTRY_/g; s/(?<![A-Za-z0-9_])_EVENT_DEFINED_TQHEAD(?![A-Za-z0-9_])/EVENT_DEFINED_TQHEAD_/g; s/(?<![A-Za-z0-9_])_EVENT_DNS_USE_FTIME_FOR_ID(?![A-Za-z0-9_])/EVENT_DNS_USE_FTIME_FOR_ID_/g; s/(?<![A-Za-z0-9_])_EVENT_ERR_ABORT(?![A-Za-z0-9_])/EVENT_ERR_ABORT_/g; s/(?<![A-Za-z0-9_])_EVENT_EVCONFIG__PRIVATE_H(?![A-Za-z0-9_])/EVENT_EVCONFIG__PRIVATE_H_/g; s/(?<![A-Za-z0-9_])_event_iocp_port_unlock_and_free(?![A-Za-z0-9_])/event_iocp_port_unlock_and_free_/g; s/(?<![A-Za-z0-9_])_EVENT_LOG_DEBUG(?![A-Za-z0-9_])/EVENT_LOG_DEBUG/g; s/(?<![A-Za-z0-9_])_EVENT_LOG_ERR(?![A-Za-z0-9_])/EVENT_LOG_ERR/g; s/(?<![A-Za-z0-9_])_EVENT_LOG_MSG(?![A-Za-z0-9_])/EVENT_LOG_MSG/g; s/(?<![A-Za-z0-9_])_EVENT_LOG_WARN(?![A-Za-z0-9_])/EVENT_LOG_WARN/g; s/(?<![A-Za-z0-9_])_event_strlcpy(?![A-Za-z0-9_])/event_strlcpy_/g; s/(?<![A-Za-z0-9_])_EVHTTP_REQ_UNKNOWN(?![A-Za-z0-9_])/EVHTTP_REQ_UNKNOWN_/g; s/(?<![A-Za-z0-9_])_EVLOCK_SORTLOCKS(?![A-Za-z0-9_])/EVLOCK_SORTLOCKS_/g; s/(?<![A-Za-z0-9_])_evrpc_hooks(?![A-Za-z0-9_])/evrpc_hooks_/g; s/(?<![A-Za-z0-9_])_evsig_restore_handler(?![A-Za-z0-9_])/evsig_restore_handler_/g; s/(?<![A-Za-z0-9_])_evsig_set_handler(?![A-Za-z0-9_])/evsig_set_handler_/g; s/(?<![A-Za-z0-9_])_evthread_cond_fns(?![A-Za-z0-9_])/evthread_cond_fns_/g; s/(?<![A-Za-z0-9_])_evthread_debug_get_real_lock(?![A-Za-z0-9_])/evthread_debug_get_real_lock_/g; s/(?<![A-Za-z0-9_])_evthread_id_fn(?![A-Za-z0-9_])/evthread_id_fn_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_cond_alloc(?![A-Za-z0-9_])/evthreadimpl_cond_alloc_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_cond_free(?![A-Za-z0-9_])/evthreadimpl_cond_free_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_cond_signal(?![A-Za-z0-9_])/evthreadimpl_cond_signal_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_cond_wait(?![A-Za-z0-9_])/evthreadimpl_cond_wait_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_get_id(?![A-Za-z0-9_])/evthreadimpl_get_id_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_is_lock_debugging_enabled(?![A-Za-z0-9_])/evthreadimpl_is_lock_debugging_enabled_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_lock_alloc(?![A-Za-z0-9_])/evthreadimpl_lock_alloc_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_lock_free(?![A-Za-z0-9_])/evthreadimpl_lock_free_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_locking_enabled(?![A-Za-z0-9_])/evthreadimpl_locking_enabled_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_lock_lock(?![A-Za-z0-9_])/evthreadimpl_lock_lock_/g; s/(?<![A-Za-z0-9_])_evthreadimpl_lock_unlock(?![A-Za-z0-9_])/evthreadimpl_lock_unlock_/g; s/(?<![A-Za-z0-9_])_evthread_is_debug_lock_held(?![A-Za-z0-9_])/evthread_is_debug_lock_held_/g; s/(?<![A-Za-z0-9_])_evthread_lock_debugging_enabled(?![A-Za-z0-9_])/evthread_lock_debugging_enabled_/g; s/(?<![A-Za-z0-9_])_evthread_lock_fns(?![A-Za-z0-9_])/evthread_lock_fns_/g; s/(?<![A-Za-z0-9_])_EVUTIL_NIL_CONDITION(?![A-Za-z0-9_])/EVUTIL_NIL_CONDITION_/g; s/(?<![A-Za-z0-9_])_EVUTIL_NIL_STMT(?![A-Za-z0-9_])/EVUTIL_NIL_STMT_/g; s/(?<![A-Za-z0-9_])_evutil_weakrand(?![A-Za-z0-9_])/evutil_weakrand_/g; s/(?<![A-Za-z0-9_])_http_close_detection(?![A-Za-z0-9_])/http_close_detection_/g; s/(?<![A-Za-z0-9_])_http_connection_test(?![A-Za-z0-9_])/http_connection_test_/g; s/(?<![A-Za-z0-9_])_http_incomplete_test(?![A-Za-z0-9_])/http_incomplete_test_/g; s/(?<![A-Za-z0-9_])_http_stream_in_test(?![A-Za-z0-9_])/http_stream_in_test_/g; s/(?<![A-Za-z0-9_])_internal(?![A-Za-z0-9_])/internal_/g; s/(?<![A-Za-z0-9_])_mm_free_fn(?![A-Za-z0-9_])/mm_free_fn_/g; s/(?<![A-Za-z0-9_])_mm_malloc_fn(?![A-Za-z0-9_])/mm_malloc_fn_/g; s/(?<![A-Za-z0-9_])_mm_realloc_fn(?![A-Za-z0-9_])/mm_realloc_fn_/g; s/(?<![A-Za-z0-9_])_original_cond_fns(?![A-Za-z0-9_])/original_cond_fns_/g; s/(?<![A-Za-z0-9_])_original_lock_fns(?![A-Za-z0-9_])/original_lock_fns_/g; s/(?<![A-Za-z0-9_])_rpc_hook_ctx(?![A-Za-z0-9_])/rpc_hook_ctx_/g; s/(?<![A-Za-z0-9_])_SYS_QUEUE_H_(?![A-Za-z0-9_])/SYS_QUEUE_H__/g; s/(?<![A-Za-z0-9_])_t(?![A-Za-z0-9_])/t_/g; s/(?<![A-Za-z0-9_])_t32(?![A-Za-z0-9_])/t32_/g; s/(?<![A-Za-z0-9_])_test_ai_eq(?![A-Za-z0-9_])/test_ai_eq_/g; s/(?<![A-Za-z0-9_])_URI_ADD(?![A-Za-z0-9_])/URI_ADD_/g; s/(?<![A-Za-z0-9_])_URI_FREE_STR(?![A-Za-z0-9_])/URI_FREE_STR_/g; s/(?<![A-Za-z0-9_])_URI_SET_STR(?![A-Za-z0-9_])/URI_SET_STR_/g; s/(?<![A-Za-z0-9_])_warn_helper(?![A-Za-z0-9_])/warn_helper_/g; " href="/mirrors/libevent/commits/cb9da0bf38">Fix all identifiers with names beginning with underscore.14年前
  • extraRemove suppression for test_ok under TSan3年前
  • includeAlways have evutil_secure_rng_add_bytes available (#1427)3年前
  • m4autotools: print $OPENSSL_LIBS/$OPENSSL_INCS3年前
  • samplews-chat-server: fix potential resource leak3年前
  • test-exportAdd CI checks for OpenBSD (#1326)3年前
  • testFix building with -Wstack-protector due to VLA and fobid them3年前
  • .clang-formatAdd config for clang-format9年前
  • .exrcAdd config for vim/nvim3年前
  • .gitignoreAdd more ignore rules3年前
  • .mailmapmailmap: add name/email aliases for yuangongji (name and email)6年前
  • .uncrustifyAdd config for uncrustify9年前
  • .yamllintIgnore truthy in yamllint (for github-actions)6年前
  • CMakeLists.txtFix building with -Wstack-protector due to VLA and fobid them3年前
  • CONTRIBUTING.mdUpdate documentation [ci skip]7年前
  • CONTRIBUTORS.mdRellocate some text in CONTRIBUTORS.md3年前
  • ChangeLogChangelog skeleton3年前
  • ChangeLog-1.4Fix typos: warnigns -> warnings7年前
  • ChangeLog-2.0Fix typos: warnigns -> warnings7年前
  • ChangeLog-2.1Fix typo in changelog (#1438)3年前
  • DoxyfileAdd minimal WebSocket server implementation for evhttp (#1322)3年前
  • LICENSEUpdate LICENSE for ssl-client-mbedtls.c5年前
  • Makefile.amsignal: new signal handling backend based on signalfd3年前
  • PreLoad.cmakeDo not install RPATH for install tree by default4年前
  • README.mddoc: minor cleanups following #1441 (#1442)3年前
  • arc4random.cOptimize arc4random_uniform() (by syncing with OpenBSD implementation)3年前
  • autogen.shbuild: remove inconsistently used x-prefix comparisons4年前
  • buffer.cbuffer: use pread() for evbuffer_file_segment_materialize()3年前
  • buffer_iocp.cFix some typos (#1284)3年前
  • bufferevent-internal.hFix BEV_LOCK/BEV_UNLOCK macros for EVENT__DISABLE_THREAD_SUPPORT3年前
  • bufferevent.cFix non-std printf %p arguments (#1327)3年前
  • bufferevent_async.cMissing <winerror.h> on win7/MinGW(MINGW32_NT-6.1)/MSYS6年前
  • bufferevent_filter.cdon't fail be_null_filter if bytes are copied8年前
  • bufferevent_mbedtls.cAdd helpers and all regress tests are passed3年前
  • bufferevent_openssl.cSuppress -Wunused-value for BIO_set_close()3年前
  • bufferevent_pair.cbufferevent: refactor to use type check macros9年前
  • bufferevent_ratelim.cFix some typos (#1284)3年前
  • bufferevent_sock.cRemove dead code from bufferevent_socket_connect5年前
  • bufferevent_ssl.cDeal with partial writes on SSL write3年前
  • changelist-internal.hImplemented EV_CLOSED event for epoll backend (EPOLLRDHUP).12年前
  • checkpatch.shcheckpatch.sh: fix clang-format-diff usage5年前
  • configure.acProhibit VLA in autotools too3年前
  • defer-internal.hExport symbols for -fvisibility=hidden (under cmake)9年前
  • devpoll.cHave all visible internal function names end with an underscore.14年前
  • doxygen.amChange prefix for man pages from "le_" to "libevent_"5年前
  • epoll.csignal: new signal handling backend based on signalfd3年前
  • epoll_sub.cMerge remote-tracking branch 'origin/patches-2.0'12年前
  • epolltable-internal.hfix a comment error7年前
  • evbuffer-internal.hMaximum evbuffer read configuration7年前
  • evconfig-private.h.cmakeDefine __EXT_POSIX2 for QNX8年前
  • evconfig-private.h.inDefine __EXT_POSIX2 for QNX8年前
  • evdns.cevdns: fix "Branch condition evaluates to a garbage value" in reply_parse3年前
  • event-config.h.cmakesignal: new signal handling backend based on signalfd3年前
  • event-internal.hFix typos in comments (sample/test/event-internal.h)6年前
  • event.csignal: new signal handling backend based on signalfd3年前
  • event_iocp.cEliminate fd conversion warnings and introduce EVUTIL_INVALID_SOCKET (windows)7年前
  • event_rpcgen.pyMake all classes Entry, Struct, etc) new-style classes5年前
  • event_tagging.cExport symbols for -fvisibility=hidden (under cmake)9年前
  • evmap-internal.hHave all visible internal function names end with an underscore.14年前
  • evmap.csignal: new signal handling backend based on signalfd3年前
  • evport.cHave all visible internal function names end with an underscore.14年前
  • evrpc-internal.hAdd an include to evrpc-internal to fix openbsd compilation warning12年前
  • evrpc.cevrpc: do not check req twice7年前
  • evsignal-internal.hsignal: new signal handling backend based on signalfd3年前
  • evthread-internal.hFix EVBASE_ACQUIRE_LOCK/EVBASE_RELEASE_LOCK for EVENT__DISABLE_THREAD_SUPPORT3年前
  • evthread.cFixes some new warnings under clang-153年前
  • evthread_pthread.cfix evthread_use_pthreads_with_flags dead lock when first return4年前
  • evthread_win32.cMerge remote-tracking branch 'origin/patches-2.0'13年前
  • evutil.cFix compilation on non recent windows SDKs (#1399)3年前
  • evutil_rand.cAlways have evutil_secure_rng_add_bytes available (#1427)3年前
  • evutil_time.cfix compile error in VS2012 in evutil_gettimeofday()5年前
  • ht-internal.hht-internal: don't reset hth_table_length explicitly in name_##HT_CLEAR11年前
  • http-internal.hAdd minimal WebSocket server implementation for evhttp (#1322)3年前
  • http.chttp: style fix: use space between arguments list (#1435)3年前
  • iocp-internal.hcmake: Export missing symbols for win329年前
  • ipv6-internal.hConvert include-guard macro convention to avoid reserved identifiers14年前
  • kqueue-internal.hReplace pipe-based notification with EVFILT_USER where possible15年前
  • kqueue.cFix compat with NetBSD >= 106年前
  • libevent.pc.inlibevent.pc: link against core/extra12年前
  • libevent_core.pc.inlibevent_core and libevent_extra also deserve a pkgconfig file10年前
  • libevent_extra.pc.inlibevent_core and libevent_extra also deserve a pkgconfig file10年前
  • libevent_mbedtls.pc.inRequire libevent_core not libevent for pkg-config4年前
  • libevent_openssl.pc.inRequire libevent_core not libevent for pkg-config4年前
  • libevent_pthreads.pc.inRequire libevent_core not libevent for pkg-config4年前
  • listener.cAdd LEV_OPT_BIND_IPV4_AND_IPV6 flag (#1400)3年前
  • log-internal.hFix event_debug_logging_mask_ exporting on win329年前
  • log.cRevert "Make event_debug_get_logging_mask_() real symbol (win32)"9年前
  • make-event-config.sedconfig.h can't be prefixed unconditionally8年前
  • make_epoll_table.pyImplemented EV_CLOSED event for epoll backend (EPOLLRDHUP).12年前
  • mbedtls-compat.hInitial Mbed-TLS 3 support to get the GitHub Actions working again3年前
  • minheap-internal.hProtect min_heap_push_ against integer overflow.7年前
  • mm-internal.hExport symbols for -fvisibility=hidden (under cmake)9年前
  • openssl-compat.hDon't define BIO_get_init() for LibreSSL 3.5+4年前
  • poll.csignal: new signal handling backend based on signalfd3年前
  • ratelim-internal.hHave all visible internal function names end with an underscore.14年前
  • select.csignal: new signal handling backend based on signalfd3年前
  • sha1.cFix "Value stored to 'a' is never read" in SHA1Transform()3年前
  • sha1.hsha1: hide SHA1_CTX3年前
  • signal.csignal: new signal handling backend based on signalfd3年前
  • signalfd.csignal: new signal handling backend based on signalfd3年前
  • ssl-compat.hIntroduce new API for flags of the SSL bufferevent5年前
  • strlcpy-internal.hExport symbols for -fvisibility=hidden (under cmake)9年前
  • strlcpy.cFixes some new warnings under clang-153年前
  • time-internal.hExport symbols for -fvisibility=hidden (under cmake)9年前
  • util-internal.hAdd EV_WINDOWS macro4年前
  • watch.cevwatch: Add "prepare" and "check" watchers.7年前
  • wepoll.cwepoll: use lower-cased windows headers5年前
  • wepoll.hAdd wepoll support to light up the epoll backend on Windows6年前
  • whatsnew-2.0.txt"buffer" spelling13年前
  • whatsnew-2.1.txtBump whatsnew-2.1 document9年前
  • whatsnew-2.2.txtAdded http method extending10年前
  • win32select.cvariable redefinition in win32_dispatch6年前
  • ws.cws: ignore case while comparing values of Upgrade/Connection headers3年前
  • libevent logo

    CI Coverage Status Join the chat at https://gitter.im/libevent/libevent doxygen

    1. BUILDING AND INSTALLATION

    CMake (Unix)

    mkdir build && cd build
    cmake ..     # Default to Unix Makefiles.
    make
    make verify  # (optional)

    See Documentation/Building#Building on Unix using CMake for more information.

    CMake (Windows)

    Install CMake: https://cmake.org/

    md build && cd build
    cmake -G "Visual Studio 10" ..   # Or use any generator you want to use. Run cmake --help for a list
    cmake --build . --config Release # Or "start libevent.sln" and build with menu in Visual Studio.

    See Documentation/Building#Building on Windows for more information.

    Package Managers

    You can download and install libevent using the vcpkg dependency manager:

    git clone https://github.com/Microsoft/vcpkg.git
    cd vcpkg
    ./bootstrap-vcpkg.sh
    ./vcpkg integrate install
    ./vcpkg install libevent

    The libevent port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

    Autoconf

    Note, since 2.2 it is deprecated

    ./configure
    make
    make verify   # (optional)
    sudo make install

    See Documentation/Building#Autoconf for more information.

    2. USEFUL LINKS:

    For the latest released version of Libevent, see the official website at https://libevent.org/ .

    There’s a pretty good work-in-progress manual up at http://www.wangafu.net/~nickm/libevent-book/ .

    For the latest development versions of Libevent, access our Git repository via

    $ git clone https://github.com/libevent/libevent.git

    You can browse the git repository online at:

    https://github.com/libevent/libevent

    To report bugs, issues, or ask for new features:

    Patches: https://github.com/libevent/libevent/pulls

    OK, those are not really patches. You fork, modify, and hit the “Create Pull Request” button. You can still submit normal git patches via the mailing list.

    Bugs, Features [RFC], and Issues: https://github.com/libevent/libevent/issues

    Or you can do it via the mailing list.

    There’s also a libevent-users mailing list for talking about Libevent use and development:

    https://archives.seul.org/libevent/users/

    3. ACKNOWLEDGMENTS

    The following people have helped with suggestions, ideas, code or fixing bugs.

    关于
    12.7 MB
    邀请码
      Gitlink(确实开源)
    • 加入我们
    • 官网邮箱:gitlink@ccf.org.cn
    • QQ群
    • QQ群
    • 公众号
    • 公众号

    版权所有:中国计算机学会技术支持:开源发展技术委员会
    京ICP备13000930号-9 京公网安备 11010802032778号