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

Comparing libev/ev.c (file contents):
Revision 1.115 by root, Wed Nov 14 04:53:21 2007 UTC vs.
Revision 1.116 by root, Thu Nov 15 09:19:42 2007 UTC

258 #include "ev_vars.h" 258 #include "ev_vars.h"
259 #undef VAR 259 #undef VAR
260 }; 260 };
261 #include "ev_wrap.h" 261 #include "ev_wrap.h"
262 262
263 struct ev_loop default_loop_struct; 263 static struct ev_loop default_loop_struct;
264 static struct ev_loop *default_loop; 264 struct ev_loop *ev_default_loop_ptr;
265 265
266#else 266#else
267 267
268 ev_tstamp ev_rt_now; 268 ev_tstamp ev_rt_now;
269 #define VAR(name,decl) static decl; 269 #define VAR(name,decl) static decl;
270 #include "ev_vars.h" 270 #include "ev_vars.h"
271 #undef VAR 271 #undef VAR
272 272
273 static int default_loop; 273 static int ev_default_loop_ptr;
274 274
275#endif 275#endif
276 276
277/*****************************************************************************/ 277/*****************************************************************************/
278 278
614ev_feed_signal_event (EV_P_ int signum) 614ev_feed_signal_event (EV_P_ int signum)
615{ 615{
616 WL w; 616 WL w;
617 617
618#if EV_MULTIPLICITY 618#if EV_MULTIPLICITY
619 assert (("feeding signal events is only supported in the default loop", loop == default_loop)); 619 assert (("feeding signal events is only supported in the default loop", loop == ev_default_loop_ptr));
620#endif 620#endif
621 621
622 --signum; 622 --signum;
623 623
624 if (signum < 0 || signum >= signalmax) 624 if (signum < 0 || signum >= signalmax)
891 891
892#endif 892#endif
893 893
894#if EV_MULTIPLICITY 894#if EV_MULTIPLICITY
895struct ev_loop * 895struct ev_loop *
896ev_default_loop_ (unsigned int flags)
896#else 897#else
897int 898int
898#endif
899ev_default_loop (unsigned int flags) 899ev_default_loop (unsigned int flags)
900#endif
900{ 901{
901 if (sigpipe [0] == sigpipe [1]) 902 if (sigpipe [0] == sigpipe [1])
902 if (pipe (sigpipe)) 903 if (pipe (sigpipe))
903 return 0; 904 return 0;
904 905
905 if (!default_loop) 906 if (!ev_default_loop_ptr)
906 { 907 {
907#if EV_MULTIPLICITY 908#if EV_MULTIPLICITY
908 struct ev_loop *loop = default_loop = &default_loop_struct; 909 struct ev_loop *loop = ev_default_loop_ptr = &default_loop_struct;
909#else 910#else
910 default_loop = 1; 911 ev_default_default_loop_ptr = 1;
911#endif 912#endif
912 913
913 loop_init (EV_A_ flags); 914 loop_init (EV_A_ flags);
914 915
915 if (ev_method (EV_A)) 916 if (ev_method (EV_A))
922 ev_signal_start (EV_A_ &childev); 923 ev_signal_start (EV_A_ &childev);
923 ev_unref (EV_A); /* child watcher should not keep loop alive */ 924 ev_unref (EV_A); /* child watcher should not keep loop alive */
924#endif 925#endif
925 } 926 }
926 else 927 else
927 default_loop = 0; 928 ev_default_loop_ptr = 0;
928 } 929 }
929 930
930 return default_loop; 931 return ev_default_loop_ptr;
931} 932}
932 933
933void 934void
934ev_default_destroy (void) 935ev_default_destroy (void)
935{ 936{
936#if EV_MULTIPLICITY 937#if EV_MULTIPLICITY
937 struct ev_loop *loop = default_loop; 938 struct ev_loop *loop = ev_default_loop_ptr;
938#endif 939#endif
939 940
940#ifndef _WIN32 941#ifndef _WIN32
941 ev_ref (EV_A); /* child watcher */ 942 ev_ref (EV_A); /* child watcher */
942 ev_signal_stop (EV_A_ &childev); 943 ev_signal_stop (EV_A_ &childev);
953 954
954void 955void
955ev_default_fork (void) 956ev_default_fork (void)
956{ 957{
957#if EV_MULTIPLICITY 958#if EV_MULTIPLICITY
958 struct ev_loop *loop = default_loop; 959 struct ev_loop *loop = ev_default_loop_ptr;
959#endif 960#endif
960 961
961 if (method) 962 if (method)
962 postfork = 1; 963 postfork = 1;
963} 964}
1516 1517
1517void 1518void
1518ev_signal_start (EV_P_ struct ev_signal *w) 1519ev_signal_start (EV_P_ struct ev_signal *w)
1519{ 1520{
1520#if EV_MULTIPLICITY 1521#if EV_MULTIPLICITY
1521 assert (("signal watchers are only supported in the default loop", loop == default_loop)); 1522 assert (("signal watchers are only supported in the default loop", loop == ev_default_loop_ptr));
1522#endif 1523#endif
1523 if (ev_is_active (w)) 1524 if (ev_is_active (w))
1524 return; 1525 return;
1525 1526
1526 assert (("ev_signal_start called with illegal signal number", w->signum > 0)); 1527 assert (("ev_signal_start called with illegal signal number", w->signum > 0));
1559 1560
1560void 1561void
1561ev_child_start (EV_P_ struct ev_child *w) 1562ev_child_start (EV_P_ struct ev_child *w)
1562{ 1563{
1563#if EV_MULTIPLICITY 1564#if EV_MULTIPLICITY
1564 assert (("child watchers are only supported in the default loop", loop == default_loop)); 1565 assert (("child watchers are only supported in the default loop", loop == ev_default_loop_ptr));
1565#endif 1566#endif
1566 if (ev_is_active (w)) 1567 if (ev_is_active (w))
1567 return; 1568 return;
1568 1569
1569 ev_start (EV_A_ (W)w, 1); 1570 ev_start (EV_A_ (W)w, 1);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines