33#include "py/runtime.h"
44
55#include "thread_lock.h"
6- #include "thread_common .h"
6+ #include "threading .h"
77
88
9- static mp_obj_t thread_lock_acquire (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args )
9+ static mp_obj_t lock_acquire (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args )
1010{
1111 enum { ARG_self , ARG_blocking , ARG_timeout };
1212
@@ -36,76 +36,77 @@ static mp_obj_t thread_lock_acquire(size_t n_args, const mp_obj_t *pos_args, mp_
3636 timeout = 0 ;
3737 }
3838
39- self -> ref_count += 1 ;
40- int ret = threading_lock_acquire (& self -> mutex , timeout );
39+ self -> lock . ref_count += 1 ;
40+ int ret = threading_lock_acquire (& self -> lock , timeout );
4141
4242 if (ret == 0 ) {
43- self -> ref_count -= 1 ;
43+ self -> lock . ref_count -= 1 ;
4444 return mp_const_false ;
4545 } else if (ret == 1 ) {
4646 return mp_const_true ;
4747 } else {
48- self -> ref_count -= 1 ;
48+ self -> lock . ref_count -= 1 ;
4949 mp_raise_OSError (- ret );
5050 return mp_const_none ;
5151 }
5252}
5353
54- static MP_DEFINE_CONST_FUN_OBJ_KW (thread_lock_acquire_obj , 3 , thread_lock_acquire ) ;
54+ static MP_DEFINE_CONST_FUN_OBJ_KW (lock_acquire_obj , 3 , lock_acquire ) ;
5555
5656
57- static mp_obj_t thread_lock__enter__ (size_t n_args , const mp_obj_t * args )
57+ static mp_obj_t lock__enter__ (size_t n_args , const mp_obj_t * args )
5858{
5959 (void )n_args ; // unused
6060 mp_obj_thread_lock_t * self = MP_OBJ_TO_PTR (args [0 ]);
6161
62- self -> ref_count += 1 ;
63- threading_lock_acquire (& self -> mutex , -1 );
62+ self -> lock . ref_count += 1 ;
63+ threading_lock_acquire (& self -> lock , -1 );
6464 return mp_const_none
6565}
6666
6767
68- static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (thread_lock__enter__obj , 1 , 1 , thread_lock__enter__ ) ;
68+ static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (lock__enter__obj , 1 , 1 , lock__enter__ ) ;
6969
7070
71- static mp_obj_t thread_lock_release (mp_obj_t self_in )
71+ static mp_obj_t lock_release (mp_obj_t self_in )
7272{
7373 mp_obj_thread_lock_t * self = MP_OBJ_TO_PTR (self_in );
74- if (self -> ref_count == 0 ) {
74+ if (self -> lock . ref_count == 0 ) {
7575 mp_raise_msg (& mp_type_RuntimeError , MP_ERROR_TEXT ("Lock is already released" );
7676 } else {
7777 threading_lock_release (& self -> mutex );
7878 }
7979
80- self -> ref_count -= 1 ;
80+ self -> lock . ref_count -= 1 ;
8181
8282 return mp_const_none ;
8383}
8484
85- static MP_DEFINE_CONST_FUN_OBJ_1 (thread_lock_release_obj , thread_lock_release ) ;
85+ static MP_DEFINE_CONST_FUN_OBJ_1 (lock_release_obj , lock_release ) ;
8686
8787
88- static mp_obj_t thread_lock__exit__ (size_t n_args , const mp_obj_t * args )
88+ static mp_obj_t lock__exit__ (size_t n_args , const mp_obj_t * args )
8989{
9090 (void )n_args ; // unused
91- return thread_lock_release (args [0 ]);
91+ lock_release (args [0 ]);
92+ return mp_const_none ;
9293}
9394
94- static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (thread_lock__exit__obj , 4 , 4 , thread_lock__exit__ ) ;
95+ static MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (lock__exit__obj , 4 , 4 , lock__exit__ ) ;
9596
9697
97- static mp_obj_t thread_lock_locked (mp_obj_t self_in )
98+ static mp_obj_t lock_locked (mp_obj_t self_in )
9899{
99100 mp_obj_thread_lock_t * self = MP_OBJ_TO_PTR (self_in );
100101
101- return mp_obj_new_bool (self -> ref_count != 0 );
102+ return mp_obj_new_bool (self -> lock . ref_count != 0 );
102103}
103104
104- static MP_DEFINE_CONST_FUN_OBJ_1 (thread_lock_locked_obj , thread_lock_locked ) ;
105+ static MP_DEFINE_CONST_FUN_OBJ_1 (lock_locked_obj , lock_locked ) ;
105106
106107
107108
108- static mp_obj_t threading_lock_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args )
109+ static mp_obj_t thread_lock_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args )
109110{
110111 THREAD_UNUSED (type );
111112 THREAD_UNUSED (n_args );
@@ -115,39 +116,39 @@ static mp_obj_t threading_lock_make_new(const mp_obj_type_t *type, size_t n_args
115116 mp_obj_thread_lock_t * self = m_new_obj (mp_obj_thread_lock_t );
116117 self -> base .type = & mp_type_threading_lock_t ;
117118
118- lock_init (& self -> mutex ) ;
119+ threading_lock_init (& self -> lock ;
119120 self -> locked = false;
120121 return MP_OBJ_FROM_PTR (self );
121122}
122123
123124
124- static const mp_rom_map_elem_t threading_lock_locals_dict_table [] = {
125+ static const mp_rom_map_elem_t lock_locals_dict_table [] = {
125126 { MP_ROM_QSTR (MP_QSTR_acquire ), MP_ROM_PTR (& thread_lock_acquire_obj ) },
126127 { MP_ROM_QSTR (MP_QSTR_release ), MP_ROM_PTR (& thread_lock_release_obj ) },
127128 { MP_ROM_QSTR (MP_QSTR___enter__ ), MP_ROM_PTR (& thread_lock__enter__obj ) },
128129 { MP_ROM_QSTR (MP_QSTR___exit__ ), MP_ROM_PTR (& thread_lock__exit__obj ) },
129130 { MP_ROM_QSTR (MP_QSTR_locked ), MP_ROM_PTR (& thread_lock_locked_obj ) },
130131};
131132
132- static MP_DEFINE_CONST_DICT (threading_lock_locals_dict , threading_lock_locals_dict_table ) ;
133+ static MP_DEFINE_CONST_DICT (lock_locals_dict , lock_locals_dict_table ) ;
133134
134135
135136MP_DEFINE_CONST_OBJ_TYPE (
136137 mp_type_threading_lock_t ,
137138 MP_QSTR_Lock ,
138139 MP_TYPE_FLAG_NONE ,
139140 // print, mp_lv_grad_t_print,
140- make_new , threading_lock_make_new ,
141+ make_new , thread_lock_make_new ,
141142 // binary_op, lv_struct_binary_op,
142143 // subscr, lv_struct_subscr,
143144 // attr, mp_threading_semaphore_attr,
144- locals_dict , & threading_lock_locals_dict
145+ locals_dict , & lock_locals_dict
145146 // buffer, mp_blob_get_buffer,
146147 // parent, &mp_lv_base_struct_type
147148);
148149
149150
150- static mp_obj_t multiprocessing_lock_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args )
151+ static mp_obj_t multiprocess_lock_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args )
151152{
152153 THREAD_UNUSED (type );
153154 THREAD_UNUSED (n_args );
@@ -157,33 +158,22 @@ static mp_obj_t multiprocessing_lock_make_new(const mp_obj_type_t *type, size_t
157158 mp_obj_thread_lock_t * self = m_new_obj (mp_obj_thread_lock_t );
158159 self -> base .type = & mp_type_multiprocessing_lock_t ;
159160
160- lock_init (& self -> mutex );
161- self -> ref_count = 0 ;
161+ threading_lock_init (& self -> lock );
162+ self -> lock . ref_count = 0 ;
162163 return MP_OBJ_FROM_PTR (self );
163164}
164165
165166
166- static const mp_rom_map_elem_t multiprocessing_lock_locals_dict_table [] = {
167- { MP_ROM_QSTR (MP_QSTR_acquire ), MP_ROM_PTR (& thread_lock_acquire_obj ) },
168- { MP_ROM_QSTR (MP_QSTR_release ), MP_ROM_PTR (& thread_lock_release_obj ) },
169- { MP_ROM_QSTR (MP_QSTR___enter__ ), MP_ROM_PTR (& thread_lock__enter__obj ) },
170- { MP_ROM_QSTR (MP_QSTR___exit__ ), MP_ROM_PTR (& thread_lock__exit__obj ) },
171- { MP_ROM_QSTR (MP_QSTR_locked ), MP_ROM_PTR (& thread_lock_locked_obj ) },
172- };
173-
174- static MP_DEFINE_CONST_DICT (multiprocessing_lock_locals_dict , multiprocessing_lock_locals_dict_table ) ;
175-
176-
177167MP_DEFINE_CONST_OBJ_TYPE (
178168 mp_type_multiprocessing_lock_t ,
179169 MP_QSTR_Lock ,
180170 MP_TYPE_FLAG_NONE ,
181171 // print, mp_lv_grad_t_print,
182- make_new , multiprocessing_lock_make_new ,
172+ make_new , multiprocess_lock_make_new ,
183173 // binary_op, lv_struct_binary_op,
184174 // subscr, lv_struct_subscr,
185175 // attr, mp_threading_semaphore_attr,
186- locals_dict , & multiprocessing_lock_locals_dict
176+ locals_dict , & lock_locals_dict
187177 // buffer, mp_blob_get_buffer,
188178 // parent, &mp_lv_base_struct_type
189179);
0 commit comments