xref: /aosp_15_r20/external/cronet/third_party/libevent/chromium.patch (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Workerdiff --git a/third_party/libevent/event.c b/third_party/libevent/event.c
2*6777b538SAndroid Build Coastguard Workerindex da6cd42..36b1c51 100644
3*6777b538SAndroid Build Coastguard Worker--- a/third_party/libevent/event.c
4*6777b538SAndroid Build Coastguard Worker+++ b/third_party/libevent/event.c
5*6777b538SAndroid Build Coastguard Worker@@ -107,11 +107,7 @@ static const struct eventop *eventops[] = {
6*6777b538SAndroid Build Coastguard Worker /* Global state */
7*6777b538SAndroid Build Coastguard Worker struct event_base *current_base = NULL;
8*6777b538SAndroid Build Coastguard Worker extern struct event_base *evsignal_base;
9*6777b538SAndroid Build Coastguard Worker-static int use_monotonic;
10*6777b538SAndroid Build Coastguard Worker-
11*6777b538SAndroid Build Coastguard Worker-/* Handle signals - This is a deprecated interface */
12*6777b538SAndroid Build Coastguard Worker-int (*event_sigcb)(void);		/* Signal callback when gotsig is set */
13*6777b538SAndroid Build Coastguard Worker-volatile sig_atomic_t event_gotsig;	/* Set in signal handler */
14*6777b538SAndroid Build Coastguard Worker+static int use_monotonic = 1;
15*6777b538SAndroid Build Coastguard Worker
16*6777b538SAndroid Build Coastguard Worker /* Prototypes */
17*6777b538SAndroid Build Coastguard Worker static void	event_queue_insert(struct event_base *, struct event *, int);
18*6777b538SAndroid Build Coastguard Worker@@ -124,17 +120,6 @@ static int	timeout_next(struct event_base *, struct timeval **);
19*6777b538SAndroid Build Coastguard Worker static void	timeout_process(struct event_base *);
20*6777b538SAndroid Build Coastguard Worker static void	timeout_correct(struct event_base *, struct timeval *);
21*6777b538SAndroid Build Coastguard Worker
22*6777b538SAndroid Build Coastguard Worker-static void
23*6777b538SAndroid Build Coastguard Worker-detect_monotonic(void)
24*6777b538SAndroid Build Coastguard Worker-{
25*6777b538SAndroid Build Coastguard Worker-#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
26*6777b538SAndroid Build Coastguard Worker-	struct timespec	ts;
27*6777b538SAndroid Build Coastguard Worker-
28*6777b538SAndroid Build Coastguard Worker-	if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0)
29*6777b538SAndroid Build Coastguard Worker-		use_monotonic = 1;
30*6777b538SAndroid Build Coastguard Worker-#endif
31*6777b538SAndroid Build Coastguard Worker-}
32*6777b538SAndroid Build Coastguard Worker-
33*6777b538SAndroid Build Coastguard Worker static int
34*6777b538SAndroid Build Coastguard Worker gettime(struct event_base *base, struct timeval *tp)
35*6777b538SAndroid Build Coastguard Worker {
36*6777b538SAndroid Build Coastguard Worker@@ -144,18 +129,18 @@ gettime(struct event_base *base, struct timeval *tp)
37*6777b538SAndroid Build Coastguard Worker 	}
38*6777b538SAndroid Build Coastguard Worker
39*6777b538SAndroid Build Coastguard Worker #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
40*6777b538SAndroid Build Coastguard Worker-	if (use_monotonic) {
41*6777b538SAndroid Build Coastguard Worker-		struct timespec	ts;
42*6777b538SAndroid Build Coastguard Worker-
43*6777b538SAndroid Build Coastguard Worker-		if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1)
44*6777b538SAndroid Build Coastguard Worker-			return (-1);
45*6777b538SAndroid Build Coastguard Worker+	struct timespec	ts;
46*6777b538SAndroid Build Coastguard Worker
47*6777b538SAndroid Build Coastguard Worker+	if (use_monotonic &&
48*6777b538SAndroid Build Coastguard Worker+	    clock_gettime(CLOCK_MONOTONIC, &ts) == 0) {
49*6777b538SAndroid Build Coastguard Worker 		tp->tv_sec = ts.tv_sec;
50*6777b538SAndroid Build Coastguard Worker 		tp->tv_usec = ts.tv_nsec / 1000;
51*6777b538SAndroid Build Coastguard Worker 		return (0);
52*6777b538SAndroid Build Coastguard Worker 	}
53*6777b538SAndroid Build Coastguard Worker #endif
54*6777b538SAndroid Build Coastguard Worker
55*6777b538SAndroid Build Coastguard Worker+	use_monotonic = 0;
56*6777b538SAndroid Build Coastguard Worker+
57*6777b538SAndroid Build Coastguard Worker 	return (evutil_gettimeofday(tp, NULL));
58*6777b538SAndroid Build Coastguard Worker }
59*6777b538SAndroid Build Coastguard Worker
60*6777b538SAndroid Build Coastguard Worker@@ -179,10 +164,6 @@ event_base_new(void)
61*6777b538SAndroid Build Coastguard Worker 	if ((base = calloc(1, sizeof(struct event_base))) == NULL)
62*6777b538SAndroid Build Coastguard Worker 		event_err(1, "%s: calloc", __func__);
63*6777b538SAndroid Build Coastguard Worker
64*6777b538SAndroid Build Coastguard Worker-	event_sigcb = NULL;
65*6777b538SAndroid Build Coastguard Worker-	event_gotsig = 0;
66*6777b538SAndroid Build Coastguard Worker-
67*6777b538SAndroid Build Coastguard Worker-	detect_monotonic();
68*6777b538SAndroid Build Coastguard Worker 	gettime(base, &base->event_tv);
69*6777b538SAndroid Build Coastguard Worker
70*6777b538SAndroid Build Coastguard Worker 	min_heap_ctor(&base->timeheap);
71*6777b538SAndroid Build Coastguard Worker@@ -398,12 +379,9 @@ event_process_active(struct event_base *base)
72*6777b538SAndroid Build Coastguard Worker 			ncalls--;
73*6777b538SAndroid Build Coastguard Worker 			ev->ev_ncalls = ncalls;
74*6777b538SAndroid Build Coastguard Worker 			(*ev->ev_callback)((int)ev->ev_fd, ev->ev_res, ev->ev_arg);
75*6777b538SAndroid Build Coastguard Worker-			if (event_gotsig || base->event_break) {
76*6777b538SAndroid Build Coastguard Worker-			  	ev->ev_pncalls = NULL;
77*6777b538SAndroid Build Coastguard Worker+			if (base->event_break)
78*6777b538SAndroid Build Coastguard Worker 				return;
79*6777b538SAndroid Build Coastguard Worker-			}
80*6777b538SAndroid Build Coastguard Worker 		}
81*6777b538SAndroid Build Coastguard Worker-		ev->ev_pncalls = NULL;
82*6777b538SAndroid Build Coastguard Worker 	}
83*6777b538SAndroid Build Coastguard Worker }
84*6777b538SAndroid Build Coastguard Worker
85*6777b538SAndroid Build Coastguard Worker@@ -506,18 +484,6 @@ event_base_loop(struct event_base *base, int flags)
86*6777b538SAndroid Build Coastguard Worker 			break;
87*6777b538SAndroid Build Coastguard Worker 		}
88*6777b538SAndroid Build Coastguard Worker
89*6777b538SAndroid Build Coastguard Worker-		/* You cannot use this interface for multi-threaded apps */
90*6777b538SAndroid Build Coastguard Worker-		while (event_gotsig) {
91*6777b538SAndroid Build Coastguard Worker-			event_gotsig = 0;
92*6777b538SAndroid Build Coastguard Worker-			if (event_sigcb) {
93*6777b538SAndroid Build Coastguard Worker-				res = (*event_sigcb)();
94*6777b538SAndroid Build Coastguard Worker-				if (res == -1) {
95*6777b538SAndroid Build Coastguard Worker-					errno = EINTR;
96*6777b538SAndroid Build Coastguard Worker-					return (-1);
97*6777b538SAndroid Build Coastguard Worker-				}
98*6777b538SAndroid Build Coastguard Worker-			}
99*6777b538SAndroid Build Coastguard Worker-		}
100*6777b538SAndroid Build Coastguard Worker-
101*6777b538SAndroid Build Coastguard Worker 		timeout_correct(base, &tv);
102*6777b538SAndroid Build Coastguard Worker
103*6777b538SAndroid Build Coastguard Worker 		tv_p = &tv;
104*6777b538SAndroid Build Coastguard Worker@@ -808,8 +774,6 @@ int
105*6777b538SAndroid Build Coastguard Worker event_del(struct event *ev)
106*6777b538SAndroid Build Coastguard Worker {
107*6777b538SAndroid Build Coastguard Worker 	struct event_base *base;
108*6777b538SAndroid Build Coastguard Worker-	const struct eventop *evsel;
109*6777b538SAndroid Build Coastguard Worker-	void *evbase;
110*6777b538SAndroid Build Coastguard Worker
111*6777b538SAndroid Build Coastguard Worker 	event_debug(("event_del: %p, callback %p",
112*6777b538SAndroid Build Coastguard Worker 		 ev, ev->ev_callback));
113*6777b538SAndroid Build Coastguard Worker@@ -819,8 +783,6 @@ event_del(struct event *ev)
114*6777b538SAndroid Build Coastguard Worker 		return (-1);
115*6777b538SAndroid Build Coastguard Worker
116*6777b538SAndroid Build Coastguard Worker 	base = ev->ev_base;
117*6777b538SAndroid Build Coastguard Worker-	evsel = base->evsel;
118*6777b538SAndroid Build Coastguard Worker-	evbase = base->evbase;
119*6777b538SAndroid Build Coastguard Worker
120*6777b538SAndroid Build Coastguard Worker 	assert(!(ev->ev_flags & ~EVLIST_ALL));
121*6777b538SAndroid Build Coastguard Worker
122*6777b538SAndroid Build Coastguard Worker@@ -838,7 +800,7 @@ event_del(struct event *ev)
123*6777b538SAndroid Build Coastguard Worker
124*6777b538SAndroid Build Coastguard Worker 	if (ev->ev_flags & EVLIST_INSERTED) {
125*6777b538SAndroid Build Coastguard Worker 		event_queue_remove(base, ev, EVLIST_INSERTED);
126*6777b538SAndroid Build Coastguard Worker-		return (evsel->del(evbase, ev));
127*6777b538SAndroid Build Coastguard Worker+		return (base->evsel->del(base->evbase, ev));
128*6777b538SAndroid Build Coastguard Worker 	}
129*6777b538SAndroid Build Coastguard Worker
130*6777b538SAndroid Build Coastguard Worker 	return (0);
131*6777b538SAndroid Build Coastguard Workerdiff --git a/third_party/libevent/event.h b/third_party/libevent/event.h
132*6777b538SAndroid Build Coastguard Workerindex d1f5d9e..f0887b9 100644
133*6777b538SAndroid Build Coastguard Worker--- a/third_party/libevent/event.h
134*6777b538SAndroid Build Coastguard Worker+++ b/third_party/libevent/event.h
135*6777b538SAndroid Build Coastguard Worker@@ -159,7 +159,7 @@
136*6777b538SAndroid Build Coastguard Worker extern "C" {
137*6777b538SAndroid Build Coastguard Worker #endif
138*6777b538SAndroid Build Coastguard Worker
139*6777b538SAndroid Build Coastguard Worker-#include <event-config.h>
140*6777b538SAndroid Build Coastguard Worker+#include "event-config.h"
141*6777b538SAndroid Build Coastguard Worker #ifdef _EVENT_HAVE_SYS_TYPES_H
142*6777b538SAndroid Build Coastguard Worker #include <sys/types.h>
143*6777b538SAndroid Build Coastguard Worker #endif
144*6777b538SAndroid Build Coastguard Worker@@ -172,7 +172,7 @@ extern "C" {
145*6777b538SAndroid Build Coastguard Worker #include <stdarg.h>
146*6777b538SAndroid Build Coastguard Worker
147*6777b538SAndroid Build Coastguard Worker /* For int types. */
148*6777b538SAndroid Build Coastguard Worker-#include <evutil.h>
149*6777b538SAndroid Build Coastguard Worker+#include "evutil.h"
150*6777b538SAndroid Build Coastguard Worker
151*6777b538SAndroid Build Coastguard Worker #ifdef WIN32
152*6777b538SAndroid Build Coastguard Worker #define WIN32_LEAN_AND_MEAN
153*6777b538SAndroid Build Coastguard Workerdiff --git a/third_party/libevent/evutil.h b/third_party/libevent/evutil.h
154*6777b538SAndroid Build Coastguard Workerindex dcb0013..8b664b9 100644
155*6777b538SAndroid Build Coastguard Worker--- a/third_party/libevent/evutil.h
156*6777b538SAndroid Build Coastguard Worker+++ b/third_party/libevent/evutil.h
157*6777b538SAndroid Build Coastguard Worker@@ -38,7 +38,7 @@
158*6777b538SAndroid Build Coastguard Worker extern "C" {
159*6777b538SAndroid Build Coastguard Worker #endif
160*6777b538SAndroid Build Coastguard Worker
161*6777b538SAndroid Build Coastguard Worker-#include <event-config.h>
162*6777b538SAndroid Build Coastguard Worker+#include "event-config.h"
163*6777b538SAndroid Build Coastguard Worker #ifdef _EVENT_HAVE_SYS_TIME_H
164*6777b538SAndroid Build Coastguard Worker #include <sys/time.h>
165*6777b538SAndroid Build Coastguard Worker #endif
166