From 1566a17af583cbda271950572c82869199aeb1f0 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Fri, 12 Oct 2001 22:08:39 +0000 Subject: Get hotshot closer to compiling on Windows. Still broken: GETTIMEOFDAY. This macro obviously isn't being defined on Windows, so there's logic errors here I'd rather Fred untangled. --- Modules/_hotshot.c | 16 +++++++++++++--- PC/config.c | 2 ++ PCbuild/pythoncore.dsp | 15 +++++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/Modules/_hotshot.c b/Modules/_hotshot.c index 8b95c3c..fa4653a 100644 --- a/Modules/_hotshot.c +++ b/Modules/_hotshot.c @@ -19,6 +19,7 @@ #ifdef MS_WIN32 #include #include +#include /* for getcwd() */ typedef LARGE_INTEGER hs_time; #else #ifndef HAVE_GETTIMEOFDAY @@ -41,6 +42,14 @@ typedef struct timeval hs_time; #define BUFFERSIZE 10240 +#ifndef PATH_MAX +# ifdef MAX_PATH +# define PATH_MAX MAX_PATH +# else +# error "Need a defn. for PATH_MAX in _hotshot.c" +# endif +#endif + typedef struct { PyObject_HEAD PyObject *filemap; @@ -365,6 +374,7 @@ logreader_tp_iternext(LogReaderObject *self) goto restart; } default: + ; } if (err == ERR_EOF && oldindex != 0) { /* It looks like we ran out of data before we had it all; this @@ -470,7 +480,7 @@ flush_data(ProfilerObject *self) { /* Need to dump data to the log file... */ size_t written = fwrite(self->buffer, 1, self->index, self->logfp); - if (written == self->index) + if (written == (size_t)self->index) self->index = 0; else { memmove(self->buffer, &self->buffer[written], @@ -723,7 +733,7 @@ tracer_callback(ProfilerObject *self, PyFrameObject *frame, int what, case PyTrace_RETURN: pack_exit(self, get_tdelta(self)); break; - case PyTrace_LINE: + case PyTrace_LINE: if (self->linetimings) pack_lineno_tdelta(self, frame->f_lineno, get_tdelta(self)); else @@ -1259,7 +1269,7 @@ hotshot_profiler(PyObject *unused, PyObject *args) self->index = 0; self->active = 0; self->next_fileno = 0; - self->logfp = NULL; + self->logfp = NULL; self->logfilename = PyTuple_GET_ITEM(args, 0); Py_INCREF(self->logfilename); self->filemap = PyDict_New(); diff --git a/PC/config.c b/PC/config.c index df9b89a..9e4da2a 100644 --- a/PC/config.c +++ b/PC/config.c @@ -44,6 +44,7 @@ extern void init_locale(void); extern void init_codecs(void); extern void initxreadlines(void); extern void init_weakref(void); +extern void init_hotshot(void); extern void initxxsubtype(void); /* XXX tim: what's the purpose of ADDMODULE MARKER? */ @@ -98,6 +99,7 @@ struct _inittab _PyImport_Inittab[] = { {"_codecs", init_codecs}, {"xreadlines", initxreadlines}, {"_weakref", init_weakref}, + {"_hotshot", init_hotshot}, {"xxsubtype", initxxsubtype}, diff --git a/PCbuild/pythoncore.dsp b/PCbuild/pythoncore.dsp index 4525e6b..e07cd32 100644 --- a/PCbuild/pythoncore.dsp +++ b/PCbuild/pythoncore.dsp @@ -180,6 +180,21 @@ SOURCE=..\Modules\_codecsmodule.c # End Source File # Begin Source File +SOURCE=..\Modules\_hotshot.c + +!IF "$(CFG)" == "pythoncore - Win32 Release" + +!ELSEIF "$(CFG)" == "pythoncore - Win32 Debug" + +!ELSEIF "$(CFG)" == "pythoncore - Win32 Alpha Debug" + +!ELSEIF "$(CFG)" == "pythoncore - Win32 Alpha Release" + +!ENDIF + +# End Source File +# Begin Source File + SOURCE=..\Modules\_localemodule.c !IF "$(CFG)" == "pythoncore - Win32 Release" -- cgit v0.12