… | |
… | |
173 | } |
173 | } |
174 | |
174 | |
175 | static void |
175 | static void |
176 | pmapi_release (void) |
176 | pmapi_release (void) |
177 | { |
177 | { |
178 | if (!(thread_enable ? thread_enable & 1 : global_enable)) |
178 | if (! ((thread_enable ? thread_enable : global_enable) & 1)) |
179 | { |
179 | { |
180 | X_TLS_SET (current_key, 0); |
180 | X_TLS_SET (current_key, 0); |
181 | return; |
181 | return; |
182 | } |
182 | } |
183 | |
183 | |
… | |
… | |
259 | X_LOCK (release_m); |
259 | X_LOCK (release_m); |
260 | while (idle < min_idle) |
260 | while (idle < min_idle) |
261 | start_thread (); |
261 | start_thread (); |
262 | X_UNLOCK (release_m); |
262 | X_UNLOCK (release_m); |
263 | |
263 | |
264 | /* not perfectly efficient to do it this way, but it's simple */ |
264 | /* not perfectly efficient to do it this way, but it is simple */ |
265 | perl_multicore_init (); |
265 | perl_multicore_init (); /* calls release */ |
266 | perl_multicore_api->pmapi_release = pmapi_release; |
266 | perl_multicore_api->pmapi_release = pmapi_release; |
267 | perl_multicore_api->pmapi_acquire = pmapi_acquire; |
267 | perl_multicore_api->pmapi_acquire = pmapi_acquire; |
268 | } |
268 | } |
269 | |
269 | |
270 | bool |
270 | bool |