Skip to content

Commit 34fc006

Browse files
committed
py/modthread: Add with-context capabilities to lock object.
1 parent 801d1b3 commit 34fc006

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

py/modthread.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,17 @@ STATIC mp_obj_t thread_lock_locked(mp_obj_t self_in) {
9595
}
9696
STATIC MP_DEFINE_CONST_FUN_OBJ_1(thread_lock_locked_obj, thread_lock_locked);
9797

98+
STATIC mp_obj_t thread_lock___exit__(size_t n_args, const mp_obj_t *args) {
99+
return thread_lock_release(args[0]);
100+
}
101+
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(thread_lock___exit___obj, 4, 4, thread_lock___exit__);
102+
98103
STATIC const mp_rom_map_elem_t thread_lock_locals_dict_table[] = {
99104
{ MP_ROM_QSTR(MP_QSTR_acquire), MP_ROM_PTR(&thread_lock_acquire_obj) },
100105
{ MP_ROM_QSTR(MP_QSTR_release), MP_ROM_PTR(&thread_lock_release_obj) },
101106
{ MP_ROM_QSTR(MP_QSTR_locked), MP_ROM_PTR(&thread_lock_locked_obj) },
107+
{ MP_ROM_QSTR(MP_QSTR___enter__), MP_ROM_PTR(&thread_lock_acquire_obj) },
108+
{ MP_ROM_QSTR(MP_QSTR___exit__), MP_ROM_PTR(&thread_lock___exit___obj) },
102109
};
103110

104111
STATIC MP_DEFINE_CONST_DICT(thread_lock_locals_dict, thread_lock_locals_dict_table);

0 commit comments

Comments
 (0)