mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
* Makefile: cosmetics
* socketmodule.c: get rid of makepair(); fix makesocketaddr to fix broken recvfrom() * socketmodule: get rid of getStrarg() * ceval.h: move eval_code() to new file eval.h, so compile.h is no longer needed. * ceval.c: move thread comments to ceval.h; always make save/restore thread functions available (for dynloaded modules) * cdmodule.c, listobject.c: don't include compile.h * flmodule.c: include ceval.h * import.c: include eval.h instead of ceval.h * cgen.py: add forground(); noport(); winopen(""); to initgl(). * bltinmodule.c, socketmodule.c, fileobject.c, posixmodule.c, selectmodule.c: adapt to threads (add BGN/END SAVE macros) * stdwinmodule.c: adapt to threads and use a special stdwin lock. * pythonmain.c: don't include getpythonpath(). * pythonrun.c: use BGN/END SAVE instead of direct calls; also more BGN/END SAVE calls etc. * thread.c: bigger stack size for sun; change exit() to _exit() * threadmodule.c: use BGN/END SAVE macros where possible * timemodule.c: adapt better to threads; use BGN/END SAVE; add longsleep internal function if BSD_TIME; cosmetics
This commit is contained in:
parent
25bec8c8dc
commit
ff4949eeee
19 changed files with 382 additions and 150 deletions
|
@ -27,15 +27,10 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
|
||||
#include "allobjects.h"
|
||||
#include "modsupport.h"
|
||||
#include "compile.h"
|
||||
#include "ceval.h"
|
||||
|
||||
#include "thread.h"
|
||||
|
||||
extern void init_save_thread PROTO((void));
|
||||
extern void* save_thread PROTO((void));
|
||||
extern void restore_thread PROTO((void *));
|
||||
|
||||
object *ThreadError;
|
||||
|
||||
|
||||
|
@ -83,7 +78,6 @@ lock_acquire_lock(self, args)
|
|||
lockobject *self;
|
||||
object *args;
|
||||
{
|
||||
void *save;
|
||||
int i;
|
||||
|
||||
if (args != NULL) {
|
||||
|
@ -93,11 +87,9 @@ lock_acquire_lock(self, args)
|
|||
else
|
||||
i = 1;
|
||||
|
||||
save = save_thread();
|
||||
|
||||
BGN_SAVE
|
||||
i = acquire_lock(self->lock_lock, i);
|
||||
|
||||
restore_thread(save);
|
||||
END_SAVE
|
||||
|
||||
if (args == NULL) {
|
||||
INCREF(None);
|
||||
|
@ -193,8 +185,6 @@ t_bootstrap(args_raw)
|
|||
if (res == NULL) {
|
||||
fprintf(stderr, "Unhandled exception in thread:\n");
|
||||
print_error(); /* From pythonmain.c */
|
||||
fprintf(stderr, "Exiting the entire program\n");
|
||||
goaway(1);
|
||||
}
|
||||
(void) save_thread();
|
||||
exit_thread();
|
||||
|
@ -251,7 +241,7 @@ thread_allocate_lock(self, args)
|
|||
{
|
||||
if (!getnoarg(args))
|
||||
return NULL;
|
||||
return newlockobject();
|
||||
return (object *) newlockobject();
|
||||
}
|
||||
|
||||
static struct methodlist thread_methods[] = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue