ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev.h
(Generate patch)

Comparing libev/ev.h (file contents):
Revision 1.199 by root, Sun Dec 22 15:05:31 2019 UTC vs.
Revision 1.200 by root, Tue Dec 24 13:52:58 2019 UTC

390 390
391 int wd; /* wd for inotify, fd for kqueue */ 391 int wd; /* wd for inotify, fd for kqueue */
392} ev_stat; 392} ev_stat;
393#endif 393#endif
394 394
395#if EV_IDLE_ENABLE
396/* invoked when the nothing else needs to be done, keeps the process from blocking */ 395/* invoked when the nothing else needs to be done, keeps the process from blocking */
397/* revent EV_IDLE */ 396/* revent EV_IDLE */
398typedef struct ev_idle 397typedef struct ev_idle
399{ 398{
400 EV_WATCHER (ev_idle) 399 EV_WATCHER (ev_idle)
401} ev_idle; 400} ev_idle;
402#endif
403 401
404/* invoked for each run of the mainloop, just before the blocking call */ 402/* invoked for each run of the mainloop, just before the blocking call */
405/* you can still change events in any way you like */ 403/* you can still change events in any way you like */
406/* revent EV_PREPARE */ 404/* revent EV_PREPARE */
407typedef struct ev_prepare 405typedef struct ev_prepare
414typedef struct ev_check 412typedef struct ev_check
415{ 413{
416 EV_WATCHER (ev_check) 414 EV_WATCHER (ev_check)
417} ev_check; 415} ev_check;
418 416
419#if EV_FORK_ENABLE
420/* the callback gets invoked before check in the child process when a fork was detected */ 417/* the callback gets invoked before check in the child process when a fork was detected */
421/* revent EV_FORK */ 418/* revent EV_FORK */
422typedef struct ev_fork 419typedef struct ev_fork
423{ 420{
424 EV_WATCHER (ev_fork) 421 EV_WATCHER (ev_fork)
425} ev_fork; 422} ev_fork;
426#endif
427 423
428#if EV_CLEANUP_ENABLE
429/* is invoked just before the loop gets destroyed */ 424/* is invoked just before the loop gets destroyed */
430/* revent EV_CLEANUP */ 425/* revent EV_CLEANUP */
431typedef struct ev_cleanup 426typedef struct ev_cleanup
432{ 427{
433 EV_WATCHER (ev_cleanup) 428 EV_WATCHER (ev_cleanup)
434} ev_cleanup; 429} ev_cleanup;
435#endif
436 430
437#if EV_EMBED_ENABLE 431#if EV_EMBED_ENABLE
438/* used to embed an event loop inside another */ 432/* used to embed an event loop inside another */
439/* the callback gets invoked when the event loop has handled events, and can be 0 */ 433/* the callback gets invoked when the event loop has handled events, and can be 0 */
440typedef struct ev_embed 434typedef struct ev_embed
441{ 435{
442 EV_WATCHER (ev_embed) 436 EV_WATCHER (ev_embed)
443 437
444 struct ev_loop *other; /* ro */ 438 struct ev_loop *other; /* ro */
439#undef EV_IO_ENABLE
440#define EV_IO_ENABLE 1
445 ev_io io; /* private */ 441 ev_io io; /* private */
442#undef EV_PREPARE_ENABLE
443#define EV_PREPARE_ENABLE 1
446 ev_prepare prepare; /* private */ 444 ev_prepare prepare; /* private */
447 ev_check check; /* unused */ 445 ev_check check; /* unused */
448 ev_timer timer; /* unused */ 446 ev_timer timer; /* unused */
449 ev_periodic periodic; /* unused */ 447 ev_periodic periodic; /* unused */
450 ev_idle idle; /* unused */ 448 ev_idle idle; /* unused */
451 ev_fork fork; /* private */ 449 ev_fork fork; /* private */
452#if EV_CLEANUP_ENABLE
453 ev_cleanup cleanup; /* unused */ 450 ev_cleanup cleanup; /* unused */
454#endif
455} ev_embed; 451} ev_embed;
456#endif 452#endif
457 453
458#if EV_ASYNC_ENABLE 454#if EV_ASYNC_ENABLE
459/* invoked when somebody calls ev_async_send on the watcher */ 455/* invoked when somebody calls ev_async_send on the watcher */
658 * convenience function, wait for a single event, without registering an event watcher 654 * convenience function, wait for a single event, without registering an event watcher
659 * if timeout is < 0, do wait indefinitely 655 * if timeout is < 0, do wait indefinitely
660 */ 656 */
661EV_API_DECL void ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revents, void *arg), void *arg) EV_NOEXCEPT; 657EV_API_DECL void ev_once (EV_P_ int fd, int events, ev_tstamp timeout, void (*cb)(int revents, void *arg), void *arg) EV_NOEXCEPT;
662 658
659EV_API_DECL void ev_invoke_pending (EV_P); /* invoke all pending watchers */
660
663# if EV_FEATURE_API 661# if EV_FEATURE_API
664EV_API_DECL unsigned int ev_iteration (EV_P) EV_NOEXCEPT; /* number of loop iterations */ 662EV_API_DECL unsigned int ev_iteration (EV_P) EV_NOEXCEPT; /* number of loop iterations */
665EV_API_DECL unsigned int ev_depth (EV_P) EV_NOEXCEPT; /* #ev_loop enters - #ev_loop leaves */ 663EV_API_DECL unsigned int ev_depth (EV_P) EV_NOEXCEPT; /* #ev_loop enters - #ev_loop leaves */
666EV_API_DECL void ev_verify (EV_P) EV_NOEXCEPT; /* abort if loop data corrupted */ 664EV_API_DECL void ev_verify (EV_P) EV_NOEXCEPT; /* abort if loop data corrupted */
667 665
675EV_API_DECL void ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb) EV_NOEXCEPT; 673EV_API_DECL void ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb) EV_NOEXCEPT;
676/* C++ doesn't allow the use of the ev_loop_callback typedef here, so we need to spell it out */ 674/* C++ doesn't allow the use of the ev_loop_callback typedef here, so we need to spell it out */
677EV_API_DECL void ev_set_loop_release_cb (EV_P_ void (*release)(EV_P) EV_NOEXCEPT, void (*acquire)(EV_P) EV_NOEXCEPT) EV_NOEXCEPT; 675EV_API_DECL void ev_set_loop_release_cb (EV_P_ void (*release)(EV_P) EV_NOEXCEPT, void (*acquire)(EV_P) EV_NOEXCEPT) EV_NOEXCEPT;
678 676
679EV_API_DECL unsigned int ev_pending_count (EV_P) EV_NOEXCEPT; /* number of pending events, if any */ 677EV_API_DECL unsigned int ev_pending_count (EV_P) EV_NOEXCEPT; /* number of pending events, if any */
680EV_API_DECL void ev_invoke_pending (EV_P); /* invoke all pending watchers */
681 678
682/* 679/*
683 * stop/start the timer handling. 680 * stop/start the timer handling.
684 */ 681 */
685EV_API_DECL void ev_suspend (EV_P) EV_NOEXCEPT; 682EV_API_DECL void ev_suspend (EV_P) EV_NOEXCEPT;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines