File tree Expand file tree Collapse file tree 2 files changed +9
-11
lines changed Expand file tree Collapse file tree 2 files changed +9
-11
lines changed Original file line number Diff line number Diff line change @@ -17,16 +17,12 @@ fn main() {
17
17
tokio:: time:: sleep ( Duration :: from_secs ( 1 ) ) . await ;
18
18
19
19
Python :: with_gil ( |py| {
20
- let event_loop = pyo3_asyncio:: get_event_loop ( ) ;
20
+ let event_loop = pyo3_asyncio:: get_event_loop ( py ) ;
21
21
22
22
event_loop
23
23
. call_method1 (
24
- py,
25
24
"call_soon_threadsafe" ,
26
- ( event_loop
27
- . getattr ( py, "stop" )
28
- . map_err ( dump_err ( py) )
29
- . unwrap ( ) , ) ,
25
+ ( event_loop. getattr ( "stop" ) . map_err ( dump_err ( py) ) . unwrap ( ) , ) ,
30
26
)
31
27
. map_err ( dump_err ( py) )
32
28
. unwrap ( ) ;
Original file line number Diff line number Diff line change @@ -175,8 +175,11 @@ fn try_init(py: Python) -> PyResult<()> {
175
175
}
176
176
177
177
/// Get a reference to the Python Event Loop from Rust
178
- pub fn get_event_loop ( ) -> PyObject {
179
- EVENT_LOOP . get ( ) . unwrap ( ) . clone ( )
178
+ pub fn get_event_loop ( py : Python ) -> & PyAny {
179
+ EVENT_LOOP
180
+ . get ( )
181
+ . expect ( "PyO3 Asyncio Event Loop has not been initialized" )
182
+ . as_ref ( py)
180
183
}
181
184
182
185
/// Run the event loop forever
@@ -201,14 +204,13 @@ pub fn get_event_loop() -> PyObject {
201
204
/// pyo3_asyncio::spawn(async move {
202
205
/// tokio::time::sleep(Duration::from_secs(1)).await;
203
206
/// Python::with_gil(|py| {
204
- /// let event_loop = pyo3_asyncio::get_event_loop();
207
+ /// let event_loop = pyo3_asyncio::get_event_loop(py );
205
208
///
206
209
/// event_loop
207
210
/// .call_method1(
208
- /// py,
209
211
/// "call_soon_threadsafe",
210
212
/// (event_loop
211
- /// .getattr(py, "stop")
213
+ /// .getattr("stop")
212
214
/// .map_err(|e| e.print_and_set_sys_last_vars(py))
213
215
/// .unwrap(),),
214
216
/// )
You can’t perform that action at this time.
0 commit comments